Function.__typeName = 'Function';Function.__class = true;Function.createCallback = function Function$createCallback(method,context){var e = Function._validateParams(arguments,[{name: "method",type: Function},{name: "context",mayBeNull: true}
]);if (e) throw e;return function(){var l = arguments.length;if (l > 0){var args = [];for (var i = 0;i < l;i++){args[i] = arguments[i];}
args[l] = context;return method.apply(this,args);}
return method.call(this,context);}
}
Function.createDelegate = function Function$createDelegate(instance,method){var e = Function._validateParams(arguments,[{name: "instance",mayBeNull: true},{name: "method",type: Function}
]);if (e) throw e;return function(){return method.apply(instance,arguments);}
}
Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod(){if (arguments.length !== 0) throw Error.parameterCount();}
Function._validateParams = function Function$_validateParams(params,expectedParams){var e;e = Function._validateParameterCount(params,expectedParams);if (e){e.popStackFrame();return e;}
for (var i=0;i < params.length;i++){var expectedParam = expectedParams[Math.min(i,expectedParams.length - 1)];var paramName = expectedParam.name;if (expectedParam.parameterArray){paramName += "[" + (i - expectedParams.length + 1) + "]";}
e = Function._validateParameter(params[i],expectedParam,paramName);if (e){e.popStackFrame();return e;}
}
return null;}
Function._validateParameterCount = function Function$_validateParameterCount(params,expectedParams){var maxParams = expectedParams.length;var minParams = 0;for (var i=0;i < expectedParams.length;i++){if (expectedParams[i].parameterArray){maxParams = Number.MAX_VALUE;}
else if (!expectedParams[i].optional){minParams++;}
}
if (params.length < minParams || params.length > maxParams){var e = Error.parameterCount();e.popStackFrame();return e;}
return null;}
Function._validateParameter = function Function$_validateParameter(param,expectedParam,paramName){var e;var expectedType = expectedParam.type;var expectedInteger = !!expectedParam.integer;var expectedDomElement = !!expectedParam.domElement;var mayBeNull = !!expectedParam.mayBeNull;e = Function._validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName);if (e){e.popStackFrame();return e;}
var expectedElementType = expectedParam.elementType;var elementMayBeNull = !!expectedParam.elementMayBeNull;if (expectedType === Array && typeof(param) !== "undefined" && param !== null &&
(expectedElementType || !elementMayBeNull)){var expectedElementInteger = !!expectedParam.elementInteger;var expectedElementDomElement = !!expectedParam.elementDomElement;for (var i=0;i < param.length;i++){var elem = param[i];e = Function._validateParameterType(elem,expectedElementType,expectedElementInteger,expectedElementDomElement,elementMayBeNull,paramName + "[" + i + "]");if (e){e.popStackFrame();return e;}
}
}
return null;}
Function._validateParameterType = function Function$_validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName){var e;if (typeof(param) === "undefined"){if (mayBeNull){return null;}
else{e = Error.argumentUndefined(paramName);e.popStackFrame();return e;}
}
if (param === null){if (mayBeNull){return null;}
else{e = Error.argumentNull(paramName);e.popStackFrame();return e;}
}
if (expectedType && expectedType.__enum){if (typeof(param) !== 'number'){e = Error.argumentType(paramName,Object.getType(param),expectedType);e.popStackFrame();return e;}
if ((param % 1) === 0){var values = expectedType.prototype;if (!expectedType.__flags || (param === 0)){for (var i in values){if (values[i] === param) return null;}
}
else{var v = param;for (var i in values){var vali = values[i];if (vali === 0) continue;if ((vali & param) === vali){v -= vali;}
if (v === 0) return null;}
}
}
e = Error.argumentOutOfRange(paramName,param,String.format(Sys.Res.enumInvalidValue,param,expectedType.getName()));e.popStackFrame();return e;}
if (expectedDomElement && (param !== window) && (param !== document) &&
!(window.HTMLElement && (param instanceof HTMLElement)) &&
(typeof(param.nodeName) !== 'string')){e = Error.argument(paramName,Sys.Res.argumentDomElement);e.popStackFrame();return e;}
if (expectedType && !expectedType.isInstanceOfType(param)){e = Error.argumentType(paramName,Object.getType(param),expectedType);e.popStackFrame();return e;}
if (expectedType === Number && expectedInteger){if ((param % 1) !== 0){e = Error.argumentOutOfRange(paramName,param,Sys.Res.argumentInteger);e.popStackFrame();return e;}
}
return null;}
Error.__typeName = 'Error';Error.__class = true;Error.create = function Error$create(message,errorInfo){var e = Function._validateParams(arguments,[{name: "message",type: String,mayBeNull: true,optional: true},{name: "errorInfo",mayBeNull: true,optional: true}
]);if (e) throw e;var e = new Error(message);e.message = message;if (errorInfo){for (var v in errorInfo){e[v] = errorInfo[v];}
}
e.popStackFrame();return e;}
Error.argument = function Error$argument(paramName,message){var e = Function._validateParams(arguments,[{name: "paramName",type: String,mayBeNull: true,optional: true},{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument);if (paramName){displayMessage += "\n" + String.format(Sys.Res.paramName,paramName);}
var e = Error.create(displayMessage,{name: "Sys.ArgumentException",paramName: paramName });e.popStackFrame();return e;}
Error.argumentNull = function Error$argumentNull(paramName,message){var e = Function._validateParams(arguments,[{name: "paramName",type: String,mayBeNull: true,optional: true},{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull);if (paramName){displayMessage += "\n" + String.format(Sys.Res.paramName,paramName);}
var e = Error.create(displayMessage,{name: "Sys.ArgumentNullException",paramName: paramName });e.popStackFrame();return e;}
Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName,actualValue,message){var e = Function._validateParams(arguments,[{name: "paramName",type: String,mayBeNull: true,optional: true},{name: "actualValue",mayBeNull: true,optional: true},{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange);if (paramName){displayMessage += "\n" + String.format(Sys.Res.paramName,paramName);}
if (typeof(actualValue) !== "undefined" && actualValue !== null){displayMessage += "\n" + String.format(Sys.Res.actualValue,actualValue);}
var e = Error.create(displayMessage,{name: "Sys.ArgumentOutOfRangeException",paramName: paramName,actualValue: actualValue
});e.popStackFrame();return e;}
Error.argumentType = function Error$argumentType(paramName,actualType,expectedType,message){var e = Function._validateParams(arguments,[{name: "paramName",type: String,mayBeNull: true,optional: true},{name: "actualType",type: Type,mayBeNull: true,optional: true},{name: "expectedType",type: Type,mayBeNull: true,optional: true},{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.ArgumentTypeException: ";if (message){displayMessage += message;}
else if (actualType && expectedType){displayMessage +=
String.format(Sys.Res.argumentTypeWithTypes,actualType.getName(),expectedType.getName());}
else{displayMessage += Sys.Res.argumentType;}
if (paramName){displayMessage += "\n" + String.format(Sys.Res.paramName,paramName);}
var e = Error.create(displayMessage,{name: "Sys.ArgumentTypeException",paramName: paramName,actualType: actualType,expectedType: expectedType
});e.popStackFrame();return e;}
Error.argumentUndefined = function Error$argumentUndefined(paramName,message){var e = Function._validateParams(arguments,[{name: "paramName",type: String,mayBeNull: true,optional: true},{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined);if (paramName){displayMessage += "\n" + String.format(Sys.Res.paramName,paramName);}
var e = Error.create(displayMessage,{name: "Sys.ArgumentUndefinedException",paramName: paramName });e.popStackFrame();return e;}
Error.format = function Error$format(message){var e = Function._validateParams(arguments,[{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format);var e = Error.create(displayMessage,{name: 'Sys.FormatException'});e.popStackFrame();return e;}
Error.invalidOperation = function Error$invalidOperation(message){var e = Function._validateParams(arguments,[{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation);var e = Error.create(displayMessage,{name: 'Sys.InvalidOperationException'});e.popStackFrame();return e;}
Error.notImplemented = function Error$notImplemented(message){var e = Function._validateParams(arguments,[{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented);var e = Error.create(displayMessage,{name: 'Sys.NotImplementedException'});e.popStackFrame();return e;}
Error.parameterCount = function Error$parameterCount(message){var e = Function._validateParams(arguments,[{name: "message",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount);var e = Error.create(displayMessage,{name: 'Sys.ParameterCountException'});e.popStackFrame();return e;}
Error.prototype.popStackFrame = function Error$popStackFrame(){if (arguments.length !== 0) throw Error.parameterCount();if (typeof(this.stack) === "undefined" || this.stack === null ||
typeof(this.fileName) === "undefined" || this.fileName === null ||
typeof(this.lineNumber) === "undefined" || this.lineNumber === null){return;}
var stackFrames = this.stack.split("\n");var currentFrame = stackFrames[0];var pattern = this.fileName + ":" + this.lineNumber;while(typeof(currentFrame) !== "undefined" &&
currentFrame !== null &&
currentFrame.indexOf(pattern) === -1){stackFrames.shift();currentFrame = stackFrames[0];}
var nextFrame = stackFrames[1];if (typeof(nextFrame) === "undefined" || nextFrame === null){return;}
var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/);if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null){return;}
this.fileName = nextFrameParts[1];this.lineNumber = parseInt(nextFrameParts[2]);stackFrames.shift();this.stack = stackFrames.join("\n");}
if (!window) this.window = this;window.Type = Function;window.__rootNamespaces = [];window.__registeredTypes ={};Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$","i");Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$","i");Type.prototype.callBaseMethod = function Type$callBaseMethod(instance,name,baseArguments){var e = Function._validateParams(arguments,[{name: "instance"},{name: "name",type: String},{name: "baseArguments",type: Array,mayBeNull: true,optional: true,elementMayBeNull: true}
]);if (e) throw e;var baseMethod = this.getBaseMethod(instance,name);if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound,name));if (!baseArguments){return baseMethod.apply(instance);}
else{return baseMethod.apply(instance,baseArguments);}
}
Type.prototype.getBaseMethod = function Type$getBaseMethod(instance,name){var e = Function._validateParams(arguments,[{name: "instance"},{name: "name",type: String}
]);if (e) throw e;if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance',Object.getType(instance),this);var baseType = this.getBaseType();if (baseType){var baseMethod = baseType.prototype[name];return (baseMethod instanceof Function) ? baseMethod : null;}
return null;}
Type.prototype.getBaseType = function Type$getBaseType(){if (arguments.length !== 0) throw Error.parameterCount();return (typeof(this.__baseType) === "undefined") ? null : this.__baseType;}
Type.prototype.getInterfaces = function Type$getInterfaces(){if (arguments.length !== 0) throw Error.parameterCount();var result = [];var type = this;while(type){var interfaces = type.__interfaces;if (interfaces){for (var i = 0,l = interfaces.length;i < l;i++){var interfaceType = interfaces[i];if (!Array.contains(result,interfaceType)){result[result.length] = interfaceType;}
}
}
type = type.__baseType;}
return result;}
Type.prototype.getName = function Type$getName(){if (arguments.length !== 0) throw Error.parameterCount();return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName;}
Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType){var e = Function._validateParams(arguments,[{name: "interfaceType",type: Type}
]);if (e) throw e;this.resolveInheritance();var interfaceName = interfaceType.getName();var cache = this.__interfaceCache;if (cache){var cacheEntry = cache[interfaceName];if (typeof(cacheEntry) !== 'undefined') return cacheEntry;}
else{cache = this.__interfaceCache ={};}
var baseType = this;while (baseType){var interfaces = baseType.__interfaces;if (interfaces){if (Array.indexOf(interfaces,interfaceType) !== -1){return cache[interfaceName] = true;}
}
baseType = baseType.__baseType;}
return cache[interfaceName] = false;}
Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType){var e = Function._validateParams(arguments,[{name: "parentType",type: Type}
]);if (e) throw e;this.resolveInheritance();var baseType = this.__baseType;while (baseType){if (baseType === parentType){return true;}
baseType = baseType.__baseType;}
return false;}
Type.prototype.initializeBase = function Type$initializeBase(instance,baseArguments){var e = Function._validateParams(arguments,[{name: "instance"},{name: "baseArguments",type: Array,mayBeNull: true,optional: true,elementMayBeNull: true}
]);if (e) throw e;if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance',Object.getType(instance),this);this.resolveInheritance();if (this.__baseType){if (!baseArguments){this.__baseType.apply(instance);}
else{this.__baseType.apply(instance,baseArguments);}
}
return instance;}
Type.prototype.isImplementedBy = function Type$isImplementedBy(instance){var e = Function._validateParams(arguments,[{name: "instance",mayBeNull: true}
]);if (e) throw e;if (typeof(instance) === "undefined" || instance === null) return false;var instanceType = Object.getType(instance);return !!(instanceType.implementsInterface && instanceType.implementsInterface(this));}
Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance){var e = Function._validateParams(arguments,[{name: "instance",mayBeNull: true}
]);if (e) throw e;if (typeof(instance) === "undefined" || instance === null) return false;if (instance instanceof this) return true;var instanceType = Object.getType(instance);return !!(instanceType === this) ||
(instanceType.inheritsFrom && instanceType.inheritsFrom(this)) ||
(instanceType.implementsInterface && instanceType.implementsInterface(this));}
Type.prototype.registerClass = function Type$registerClass(typeName,baseType,interfaceTypes){var e = Function._validateParams(arguments,[{name: "typeName",type: String},{name: "baseType",type: Type,mayBeNull: true,optional: true},{name: "interfaceTypes",type: Type,parameterArray: true}
]);if (e) throw e;if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName',Sys.Res.notATypeName);var parsedName;try{parsedName = eval(typeName);}
catch(e){throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if (parsedName !== this) throw Error.argument('typeName',Sys.Res.badTypeName);if (window.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType');if (baseType && !baseType.__class) throw Error.argument('baseType',Sys.Res.baseNotAClass);this.prototype.constructor = this;this.__typeName = typeName;this.__class = true;if (baseType){this.__baseType = baseType;this.__basePrototypePending = true;}
if (!window.__classes) window.__classes ={};window.__classes[typeName.toUpperCase()] = this;if (interfaceTypes){this.__interfaces = [];for (var i = 2;i < arguments.length;i++){var interfaceType = arguments[i];if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']',Sys.Res.notAnInterface);this.resolveInheritance();for (var methodName in interfaceType.prototype){var method = interfaceType.prototype[methodName];if (!this.prototype[methodName]){this.prototype[methodName] = method;}
}
this.__interfaces.push(interfaceType);}
}
window.__registeredTypes[typeName] = true;return this;}
Type.prototype.registerInterface = function Type$registerInterface(typeName){var e = Function._validateParams(arguments,[{name: "typeName",type: String}
]);if (e) throw e;if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName',Sys.Res.notATypeName);var parsedName;try{parsedName = eval(typeName);}
catch(e){throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if (parsedName !== this) throw Error.argument('typeName',Sys.Res.badTypeName);if (window.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));this.prototype.constructor = this;this.__typeName = typeName;this.__interface = true;window.__registeredTypes[typeName] = true;return this;}
Type.prototype.resolveInheritance = function Type$resolveInheritance(){if (arguments.length !== 0) throw Error.parameterCount();if (this.__basePrototypePending){var baseType = this.__baseType;baseType.resolveInheritance();for (var memberName in baseType.prototype){var memberValue = baseType.prototype[memberName];if (!this.prototype[memberName]){this.prototype[memberName] = memberValue;}
}
delete this.__basePrototypePending;}
}
Type.getRootNamespaces = function Type$getRootNamespaces(){if (arguments.length !== 0) throw Error.parameterCount();return Array.clone(window.__rootNamespaces);}
Type.isClass = function Type$isClass(type){var e = Function._validateParams(arguments,[{name: "type",mayBeNull: true}
]);if (e) throw e;if ((typeof(type) === 'undefined') || (type === null)) return false;return !!type.__class;}
Type.isInterface = function Type$isInterface(type){var e = Function._validateParams(arguments,[{name: "type",mayBeNull: true}
]);if (e) throw e;if ((typeof(type) === 'undefined') || (type === null)) return false;return !!type.__interface;}
Type.isNamespace = function Type$isNamespace(object){var e = Function._validateParams(arguments,[{name: "object",mayBeNull: true}
]);if (e) throw e;if ((typeof(object) === 'undefined') || (object === null)) return false;return !!object.__namespace;}
Type.parse = function Type$parse(typeName,ns){var e = Function._validateParams(arguments,[{name: "typeName",type: String,mayBeNull: true},{name: "ns",mayBeNull: true,optional: true}
]);if (e) throw e;var fn;if (ns){if (!window.__classes) return null;fn = window.__classes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()];return fn || null;}
if (!typeName) return null;if (!Type.__htClasses){Type.__htClasses ={};}
fn = Type.__htClasses[typeName];if (!fn){fn = eval(typeName);if (typeof(fn) !== 'function') throw Error.argument('typeName',Sys.Res.notATypeName);Type.__htClasses[typeName] = fn;}
return fn;}
Type.registerNamespace = function Type$registerNamespace(namespacePath){var e = Function._validateParams(arguments,[{name: "namespacePath",type: String}
]);if (e) throw e;if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);var rootObject = window;var namespaceParts = namespacePath.split('.');for (var i = 0;i < namespaceParts.length;i++){var currentPart = namespaceParts[i];var ns = rootObject[currentPart];if (ns && !ns.__namespace){throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject,namespaceParts.splice(0,i + 1).join('.')));}
if (!ns){ns = rootObject[currentPart] ={};if (i === 0){window.__rootNamespaces[window.__rootNamespaces.length] = ns;}
ns.__namespace = true;ns.__typeName = namespaceParts.slice(0,i + 1).join('.');var parsedName;try{parsedName = eval(ns.__typeName);}
catch(e){parsedName = null;}
if (parsedName !== ns){delete rootObject[currentPart];throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);}
ns.getName = function ns$getName(){return this.__typeName;}
}
rootObject = ns;}
}
Object.__typeName = 'Object';Object.__class = true;Object.getType = function Object$getType(instance){var e = Function._validateParams(arguments,[{name: "instance"}
]);if (e) throw e;var ctor = instance.constructor;if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')){return Object;}
return ctor;}
Object.getTypeName = function Object$getTypeName(instance){var e = Function._validateParams(arguments,[{name: "instance"}
]);if (e) throw e;return Object.getType(instance).getName();}
Boolean.__typeName = 'Boolean';Boolean.__class = true;Boolean.parse = function Boolean$parse(value){var e = Function._validateParams(arguments,[{name: "value",type: String}
]);if (e) throw e;var v = value.trim().toLowerCase();if (v === 'false') return false;if (v === 'true') return true;throw Error.argumentOutOfRange('value',value,Sys.Res.boolTrueOrFalse);}
Date.__typeName = 'Date';Date.__class = true;Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch,strBuilder){var quoteCount = 0;var escaped = false;for (var i = 0,il = preMatch.length;i < il;i++){var c = preMatch.charAt(i);switch (c){case '\'':
if (escaped) strBuilder.append("'");else quoteCount++;escaped = false;break;case '\\':
if (escaped) strBuilder.append("\\");escaped = !escaped;break;default:
strBuilder.append(c);escaped = false;break;}
}
return quoteCount;}
Date._expandFormat = function Date$_expandFormat(dtf,format){if (!format){format = "F";}
if (format.length === 1){switch (format){case "d":
return dtf.ShortDatePattern;case "D":
return dtf.LongDatePattern;case "t":
return dtf.ShortTimePattern;case "T":
return dtf.LongTimePattern;case "F":
return dtf.FullDateTimePattern;case "M": case "m":
return dtf.MonthDayPattern;case "s":
return dtf.SortableDateTimePattern;case "Y": case "y":
return dtf.YearMonthPattern;default:
throw Error.format(Sys.Res.formatInvalidString);}
}
return format;}
Date._expandYear = function Date$_expandYear(dtf,year){if (year < 100){var curr = new Date().getFullYear();year += curr - (curr % 100);if (year > dtf.Calendar.TwoDigitYearMax){return year - 100;}
}
return year;}
Date._getParseRegExp = function Date$_getParseRegExp(dtf,format){if (!dtf._parseRegExp){dtf._parseRegExp ={};}
else if (dtf._parseRegExp[format]){return dtf._parseRegExp[format];}
var expFormat = Date._expandFormat(dtf,format);expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var regexp = new Sys.StringBuilder("^");var groups = [];var index = 0;var quoteCount = 0;var tokenRegExp = Date._getTokenRegExp();var match;while ((match = tokenRegExp.exec(expFormat)) !== null){var preMatch = expFormat.slice(index,match.index);index = tokenRegExp.lastIndex;quoteCount += Date._appendPreOrPostMatch(preMatch,regexp);if ((quoteCount%2) === 1){regexp.append(match[0]);continue;}
switch (match[0]){case 'dddd': case 'ddd':
case 'MMMM': case 'MMM':
regexp.append("(\\D+)");break;case 'tt': case 't':
regexp.append("(\\D*)");break;case 'yyyy':
regexp.append("(\\d{4})");break;case 'fff':
regexp.append("(\\d{3})");break;case 'ff':
regexp.append("(\\d{2})");break;case 'f':
regexp.append("(\\d)");break;case 'dd': case 'd':
case 'MM': case 'M':
case 'yy': case 'y':
case 'HH': case 'H':
case 'hh': case 'h':
case 'mm': case 'm':
case 'ss': case 's':
regexp.append("(\\d\\d?)");break;case 'zzz':
regexp.append("([+-]?\\d\\d?:\\d{2})");break;case 'zz': case 'z':
regexp.append("([+-]?\\d\\d?)");break;}
Array.add(groups,match[0]);}
Date._appendPreOrPostMatch(expFormat.slice(index),regexp);regexp.append("$");var regexpStr = regexp.toString().replace(/\s+/g,"\\s+");var parseRegExp ={'regExp': regexpStr,'groups': groups};dtf._parseRegExp[format] = parseRegExp;return parseRegExp;}
Date._getTokenRegExp = function Date$_getTokenRegExp(){return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;}
Date.parseLocale = function Date$parseLocale(value,formats){var e = Function._validateParams(arguments,[{name: "value",type: String},{name: "formats",mayBeNull: true,optional: true,parameterArray: true}
]);if (e) throw e;return Date._parse(value,Sys.CultureInfo.CurrentCulture,arguments);}
Date.parseInvariant = function Date$parseInvariant(value,formats){var e = Function._validateParams(arguments,[{name: "value",type: String},{name: "formats",mayBeNull: true,optional: true,parameterArray: true}
]);if (e) throw e;return Date._parse(value,Sys.CultureInfo.InvariantCulture,arguments);}
Date._parse = function Date$_parse(value,cultureInfo,args){var custom = false;for (var i = 1,il = args.length;i < il;i++){var format = args[i];if (format){custom = true;var date = Date._parseExact(value,format,cultureInfo);if (date) return date;}
}
if (! custom){var formats = cultureInfo._getDateTimeFormats();for (var i = 0,il = formats.length;i < il;i++){var date = Date._parseExact(value,formats[i],cultureInfo);if (date) return date;}
}
return null;}
Date._parseExact = function Date$_parseExact(value,format,cultureInfo){value = value.trim();var dtf = cultureInfo.dateTimeFormat;var parseInfo = Date._getParseRegExp(dtf,format);var match = new RegExp(parseInfo.regExp).exec(value);if (match !== null){var groups = parseInfo.groups;var year = null,month = null,date = null,weekDay = null;var hour = 0,min = 0,sec = 0,msec = 0,tzMinOffset = null;var pmHour = false;for (var j = 0,jl = groups.length;j < jl;j++){var matchGroup = match[j+1];if (matchGroup){switch (groups[j]){case 'dd': case 'd':
date = Date._parseInt(matchGroup);if ((date < 1) || (date > 31)) return null;break;case 'MMMM':
month = cultureInfo._getMonthIndex(matchGroup);if ((month < 0) || (month > 11)) return null;break;case 'MMM':
month = cultureInfo._getAbbrMonthIndex(matchGroup);if ((month < 0) || (month > 11)) return null;break;case 'M': case 'MM':
var month = Date._parseInt(matchGroup) - 1;if ((month < 0) || (month > 11)) return null;break;case 'y': case 'yy':
year = Date._expandYear(dtf,Date._parseInt(matchGroup));if ((year < 0) || (year > 9999)) return null;break;case 'yyyy':
year = Date._parseInt(matchGroup);if ((year < 0) || (year > 9999)) return null;break;case 'h': case 'hh':
hour = Date._parseInt(matchGroup);if (hour === 12) hour = 0;if ((hour < 0) || (hour > 11)) return null;break;case 'H': case 'HH':
hour = Date._parseInt(matchGroup);if ((hour < 0) || (hour > 23)) return null;break;case 'm': case 'mm':
min = Date._parseInt(matchGroup);if ((min < 0) || (min > 59)) return null;break;case 's': case 'ss':
sec = Date._parseInt(matchGroup);if ((sec < 0) || (sec > 59)) return null;break;case 'tt': case 't':
var upperToken = matchGroup.toUpperCase();pmHour = (upperToken === dtf.PMDesignator.toUpperCase());if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null;break;case 'f':
msec = Date._parseInt(matchGroup) * 100;if ((msec < 0) || (msec > 999)) return null;break;case 'ff':
msec = Date._parseInt(matchGroup) * 10;if ((msec < 0) || (msec > 999)) return null;break;case 'fff':
msec = Date._parseInt(matchGroup);if ((msec < 0) || (msec > 999)) return null;break;case 'dddd':
weekDay = cultureInfo._getDayIndex(matchGroup);if ((weekDay < 0) || (weekDay > 6)) return null;break;case 'ddd':
weekDay = cultureInfo._getAbbrDayIndex(matchGroup);if ((weekDay < 0) || (weekDay > 6)) return null;break;case 'zzz':
var offsets = matchGroup.split(/:/);if (offsets.length !== 2) return null;var hourOffset = Date._parseInt(offsets[0]);if ((hourOffset < -12) || (hourOffset > 13)) return null;var minOffset = Date._parseInt(offsets[1]);if ((minOffset < 0) || (minOffset > 59)) return null;tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset);break;case 'z': case 'zz':
var hourOffset = Date._parseInt(matchGroup);if ((hourOffset < -12) || (hourOffset > 13)) return null;tzMinOffset = hourOffset * 60;break;}
}
}
var result = new Date();if (year === null){year = result.getFullYear();}
if (month === null){month = result.getMonth();}
if (date === null){date = result.getDate();}
result.setFullYear(year,month,date);if (result.getDate() !== date) return null;if ((weekDay !== null) && (result.getDay() !== weekDay)){return null;}
if (pmHour && (hour < 12)){hour += 12;}
result.setHours(hour,min,sec,msec);if (tzMinOffset !== null){var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());result.setHours(result.getHours() + parseInt(adjustedMin/60),adjustedMin%60);}
return result;}
}
Date._parseInt = function Date$_parseInt(value){return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));}
Date.prototype.format = function Date$format(format){var e = Function._validateParams(arguments,[{name: "format",type: String}
]);if (e) throw e;return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Date.prototype.localeFormat = function Date$localeFormat(format){var e = Function._validateParams(arguments,[{name: "format",type: String}
]);if (e) throw e;return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Date.prototype._toFormattedString = function Date$_toFormattedString(format,cultureInfo){if (!format || (format.length === 0) || (format === 'i')){if (cultureInfo && (cultureInfo.name.length > 0)){return this.toLocaleString();}
else{return this.toString();}
}
var dtf = cultureInfo.dateTimeFormat;format = Date._expandFormat(dtf,format);var ret = new Sys.StringBuilder();var hour;function addLeadingZero(num){if (num < 10){return '0' + num;}
return num.toString();}
function addLeadingZeros(num){if (num < 10){return '00' + num;}
if (num < 100){return '0' + num;}
return num.toString();}
var quoteCount = 0;var tokenRegExp = Date._getTokenRegExp();for (;;){var index = tokenRegExp.lastIndex;var ar = tokenRegExp.exec(format);var preMatch = format.slice(index,ar ? ar.index : format.length);quoteCount += Date._appendPreOrPostMatch(preMatch,ret);if (!ar) break;if ((quoteCount%2) === 1){ret.append(ar[0]);continue;}
switch (ar[0]){case "dddd":
ret.append(dtf.DayNames[this.getDay()]);break;case "ddd":
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);break;case "dd":
ret.append(addLeadingZero(this.getDate()));break;case "d":
ret.append(this.getDate());break;case "MMMM":
ret.append(dtf.MonthNames[this.getMonth()]);break;case "MMM":
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);break;case "MM":
ret.append(addLeadingZero(this.getMonth() + 1));break;case "M":
ret.append(this.getMonth() + 1);break;case "yyyy":
ret.append(this.getFullYear());break;case "yy":
ret.append(addLeadingZero(this.getFullYear() % 100));break;case "y":
ret.append(this.getFullYear() % 100);break;case "hh":
hour = this.getHours() % 12;if (hour === 0) hour = 12;ret.append(addLeadingZero(hour));break;case "h":
hour = this.getHours() % 12;if (hour === 0) hour = 12;ret.append(hour);break;case "HH":
ret.append(addLeadingZero(this.getHours()));break;case "H":
ret.append(this.getHours());break;case "mm":
ret.append(addLeadingZero(this.getMinutes()));break;case "m":
ret.append(this.getMinutes());break;case "ss":
ret.append(addLeadingZero(this.getSeconds()));break;case "s":
ret.append(this.getSeconds());break;case "tt":
ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator);break;case "t":
ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0));break;case "f":
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));break;case "ff":
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0,2));break;case "fff":
ret.append(addLeadingZeros(this.getMilliseconds()));break;case "z":
hour = this.getTimezoneOffset() / 60;ret.append(((hour >= 0) ? '+' : '-') + Math.floor(Math.abs(hour)));break;case "zz":
hour = this.getTimezoneOffset() / 60;ret.append(((hour >= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))));break;case "zzz":
hour = this.getTimezoneOffset() / 60;ret.append(((hour >= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) +
dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));break;}
}
return ret.toString();}
Number.__typeName = 'Number';Number.__class = true;Number.parseLocale = function Number$parseLocale(value){var e = Function._validateParams(arguments,[{name: "value",type: String}
]);if (e) throw e;return Number._parse(value,Sys.CultureInfo.CurrentCulture);}
Number.parseInvariant = function Number$parseInvariant(value){var e = Function._validateParams(arguments,[{name: "value",type: String}
]);if (e) throw e;return Number._parse(value,Sys.CultureInfo.InvariantCulture);}
Number._parse = function Number$_parse(value,cultureInfo){var valueStr = value.trim();if (valueStr.match(/infinity/i) !== null){return parseFloat(valueStr);}
if (valueStr.match(/^0x[a-f0-9]+$/i) !== null){return parseInt(valueStr);}
var numFormat = cultureInfo.numberFormat;var decSeparator = numFormat.NumberDecimalSeparator;var grpSeparator = numFormat.NumberGroupSeparator;var numberFormatRegex = new RegExp("^[+-]?[\\d\\" + grpSeparator + "]*\\" + decSeparator + "?\\d*([eE][+-]?\\d+)?$");if (!valueStr.match(numberFormatRegex)){return Number.NaN;}
valueStr = valueStr.split(grpSeparator).join("");valueStr = valueStr.replace(decSeparator,".");return parseFloat(valueStr);}
Number.prototype.format = function Number$format(format){var e = Function._validateParams(arguments,[{name: "format",type: String}
]);if (e) throw e;return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Number.prototype.localeFormat = function Number$localeFormat(format){var e = Function._validateParams(arguments,[{name: "format",type: String}
]);if (e) throw e;return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Number.prototype._toFormattedString = function Number$_toFormattedString(format,cultureInfo){if (!format || (format.length === 0) || (format === 'i')){if (cultureInfo && (cultureInfo.name.length > 0)){return this.toLocaleString();}
else{return this.toString();}
}
var _percentPositivePattern = ["n %","n%","%n" ];var _percentNegativePattern = ["-n %","-n%","-%n"];var _numberNegativePattern = ["(n)","-n","- n","n-","n -"];var _currencyPositivePattern = ["$n","n$","$ n","n $"];var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function expandNumber(number,precision,groupSizes,sep,decimalChar){var curSize = groupSizes[0];var curGroupIndex = 1;var numberString = number.toString();var right = "";var exponent = "";var decimalSplit = numberString.split('.');if (decimalSplit.length > 1){numberString = decimalSplit[0];right = decimalSplit[1];var exponentSplit = right.split(/e/i);if (exponentSplit.length > 1){right = exponentSplit[0];exponent = "e" + exponentSplit[1];}
}
if (precision > 0){var rightDifference = right.length - precision;if (rightDifference > 0){right = right.slice(0,precision);} else if (rightDifference < 0){for (var i=0;i<Math.abs(rightDifference);i++){right += '0';}
}
right = decimalChar + right;}
else{right = "";}
right += exponent;var stringIndex = numberString.length-1;var ret = "";while (stringIndex >= 0){if (curSize === 0 || curSize > stringIndex){if (ret.length > 0)
return numberString.slice(0,stringIndex + 1) + sep + ret + right;else return numberString.slice(0,stringIndex + 1) + right;}
if (ret.length > 0)
ret = numberString.slice(stringIndex - curSize + 1,stringIndex+1) + sep + ret;else ret = numberString.slice(stringIndex - curSize + 1,stringIndex+1);stringIndex -= curSize;if (curGroupIndex < groupSizes.length){curSize = groupSizes[curGroupIndex];curGroupIndex++;}
}
return numberString.slice(0,stringIndex + 1) + sep + ret + right;}
var nf = cultureInfo.numberFormat;var number = Math.abs(this);if (!format)
format = "D";var precision = -1;if (format.length > 1) precision = parseInt(format.slice(1));var pattern;switch (format.charAt(0)){case "d":
case "D":
pattern = 'n';if (precision !== -1){var numberStr = ""+number;var zerosToAdd = precision - numberStr.length;if (zerosToAdd > 0){for (var i=0;i<zerosToAdd;i++){numberStr = '0'+numberStr;}
}
number = numberStr;}
if (this < 0) number = -number;break;case "c":
case "C":
if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern];else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern];if (precision === -1) precision = nf.CurrencyDecimalDigits;number = expandNumber(Math.abs(this),precision,nf.CurrencyGroupSizes,nf.CurrencyGroupSeparator,nf.CurrencyDecimalSeparator);break;case "n":
case "N":
if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern];else pattern = 'n';if (precision === -1) precision = nf.NumberDecimalDigits;number = expandNumber(Math.abs(this),precision,nf.NumberGroupSizes,nf.NumberGroupSeparator,nf.NumberDecimalSeparator);break;case "p":
case "P":
if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern];else pattern = _percentPositivePattern[nf.PercentPositivePattern];if (precision === -1) precision = nf.PercentDecimalDigits;number = expandNumber(Math.abs(this),precision,nf.PercentGroupSizes,nf.PercentGroupSeparator,nf.PercentDecimalSeparator);break;default:
throw Error.format(Sys.Res.formatBadFormatSpecifier);}
var regex = /n|\$|-|%/g;var ret = "";for (;;){var index = regex.lastIndex;var ar = regex.exec(pattern);ret += pattern.slice(index,ar ? ar.index : pattern.length);if (!ar)
break;switch (ar[0]){case "n":
ret += number;break;case "$":
ret += nf.CurrencySymbol;break;case "-":
ret += nf.NegativeSign;break;case "%":
ret += nf.PercentSymbol;break;}
}
return ret;}
RegExp.__typeName = 'RegExp';RegExp.__class = true;Array.__typeName = 'Array';Array.__class = true;Array.add = Array.enqueue = function Array$enqueue(array,item){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "item",mayBeNull: true}
]);if (e) throw e;array[array.length] = item;}
Array.addRange = function Array$addRange(array,items){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "items",type: Array,elementMayBeNull: true}
]);if (e) throw e;array.push.apply(array,items);}
Array.clear = function Array$clear(array){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true}
]);if (e) throw e;array.length = 0;}
Array.clone = function Array$clone(array){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true}
]);if (e) throw e;if (array.length === 1){return [array[0]];}
else{return Array.apply(null,array);}
}
Array.contains = function Array$contains(array,item){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "item",mayBeNull: true}
]);if (e) throw e;return (Array.indexOf(array,item) >= 0);}
Array.dequeue = function Array$dequeue(array){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true}
]);if (e) throw e;return array.shift();}
Array.forEach = function Array$forEach(array,method,instance){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "method",type: Function},{name: "instance",mayBeNull: true,optional: true}
]);if (e) throw e;for (var i = 0,l = array.length;i < l;i++){var elt = array[i];if (typeof(elt) !== 'undefined') method.call(instance,elt,i,array);}
}
Array.indexOf = function Array$indexOf(array,item,start){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "item",mayBeNull: true,optional: true},{name: "start",mayBeNull: true,optional: true}
]);if (e) throw e;if (typeof(item) === "undefined") return -1;var length = array.length;if (length !== 0){start = start - 0;if (isNaN(start)){start = 0;}
else{if (isFinite(start)){start = start - (start % 1);}
if (start < 0){start = Math.max(0,length + start);}
}
for (var i = start;i < length;i++){if ((typeof(array[i]) !== "undefined") && (array[i] === item)){return i;}
}
}
return -1;}
Array.insert = function Array$insert(array,index,item){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "index",mayBeNull: true},{name: "item",mayBeNull: true}
]);if (e) throw e;array.splice(index,0,item);}
Array.parse = function Array$parse(value){var e = Function._validateParams(arguments,[{name: "value",type: String,mayBeNull: true}
]);if (e) throw e;if (!value) return [];var v = eval(value);if (!Array.isInstanceOfType(v)) throw Error.argument('value',Sys.Res.arrayParseBadFormat);return v;}
Array.remove = function Array$remove(array,item){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "item",mayBeNull: true}
]);if (e) throw e;var index = Array.indexOf(array,item);if (index >= 0){array.splice(index,1);}
return (index >= 0);}
Array.removeAt = function Array$removeAt(array,index){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true},{name: "index",mayBeNull: true}
]);if (e) throw e;array.splice(index,1);}
String.__typeName = 'String';String.__class = true;String.prototype.endsWith = function String$endsWith(suffix){var e = Function._validateParams(arguments,[{name: "suffix",type: String}
]);if (e) throw e;return (this.substr(this.length - suffix.length) === suffix);}
String.prototype.startsWith = function String$startsWith(prefix){var e = Function._validateParams(arguments,[{name: "prefix",type: String}
]);if (e) throw e;return (this.substr(0,prefix.length) === prefix);}
String.prototype.trim = function String$trim(){if (arguments.length !== 0) throw Error.parameterCount();return this.replace(/^\s+|\s+$/g,'');}
String.prototype.trimEnd = function String$trimEnd(){if (arguments.length !== 0) throw Error.parameterCount();return this.replace(/\s+$/,'');}
String.prototype.trimStart = function String$trimStart(){if (arguments.length !== 0) throw Error.parameterCount();return this.replace(/^\s+/,'');}
String.format = function String$format(format,args){var e = Function._validateParams(arguments,[{name: "format",type: String},{name: "args",mayBeNull: true,parameterArray: true}
]);if (e) throw e;return String._toFormattedString(false,arguments);}
String.localeFormat = function String$localeFormat(format,args){var e = Function._validateParams(arguments,[{name: "format",type: String},{name: "args",mayBeNull: true,parameterArray: true}
]);if (e) throw e;return String._toFormattedString(true,arguments);}
String._toFormattedString = function String$_toFormattedString(useLocale,args){var result = '';var format = args[0];for (var i=0;;){var open = format.indexOf('{',i);var close = format.indexOf('}',i);if ((open < 0) && (close < 0)){result += format.slice(i);break;}
if ((close > 0) && ((close < open) || (open < 0))){if (format.charAt(close + 1) !== '}'){throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);}
result += format.slice(i,close + 1);i = close + 2;continue;}
result += format.slice(i,open);i = open + 1;if (format.charAt(i) === '{'){result += '{';i++;continue;}
if (close < 0) throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);var brace = format.substring(i,close);var colonIndex = brace.indexOf(':');var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0,colonIndex)) + 1;if (isNaN(argNumber)) throw Error.argument('format',Sys.Res.stringFormatInvalid);var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1);var arg = args[argNumber];if (typeof(arg) === "undefined" || arg === null){arg = '';}
if (arg.toFormattedString){result += arg.toFormattedString(argFormat);}
else if (useLocale && arg.localeFormat){result += arg.localeFormat(argFormat);}
else if (arg.format){result += arg.format(argFormat);}
else result += arg.toString();i = close + 1;}
return result;}
Type.registerNamespace('Sys');Sys.IDisposable = function Sys$IDisposable(){throw Error.notImplemented();}
function Sys$IDisposable$dispose(){throw Error.notImplemented();}
Sys.IDisposable.prototype ={dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');Sys.StringBuilder = function Sys$StringBuilder(initialText){var e = Function._validateParams(arguments,[{name: "initialText",mayBeNull: true,optional: true}
]);if (e) throw e;this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ?
[initialText.toString()] : [];this._value ={};this._len = 0;}
function Sys$StringBuilder$append(text){var e = Function._validateParams(arguments,[{name: "text",mayBeNull: true}
]);if (e) throw e;this._parts[this._parts.length] = text;}
function Sys$StringBuilder$appendLine(text){var e = Function._validateParams(arguments,[{name: "text",mayBeNull: true,optional: true}
]);if (e) throw e;this._parts[this._parts.length] =
((typeof(text) === 'undefined') || (text === null) || (text === '')) ?
'\r\n' : text + '\r\n';}
function Sys$StringBuilder$clear(){if (arguments.length !== 0) throw Error.parameterCount();this._parts = [];this._value ={};this._len = 0;}
function Sys$StringBuilder$isEmpty(){if (arguments.length !== 0) throw Error.parameterCount();if (this._parts.length === 0) return true;return this.toString() === '';}
function Sys$StringBuilder$toString(separator){var e = Function._validateParams(arguments,[{name: "separator",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;separator = separator || '';var parts = this._parts;if (this._len !== parts.length){this._value ={};this._len = parts.length;}
var val = this._value;if (typeof(val[separator]) === 'undefined'){if (separator !== ''){for (var i = 0;i < parts.length;){if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)){parts.splice(i,1);}
else{i++;}
}
}
val[separator] = this._parts.join(separator);}
return val[separator];}
Sys.StringBuilder.prototype ={append: Sys$StringBuilder$append,appendLine: Sys$StringBuilder$appendLine,clear: Sys$StringBuilder$clear,isEmpty: Sys$StringBuilder$isEmpty,toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');if (!window.XMLHttpRequest){window.XMLHttpRequest = function window$XMLHttpRequest(){var progIDs = [ 'Msxml2.XMLHTTP','Microsoft.XMLHTTP' ];for (var i = 0;i < progIDs.length;i++){try{var xmlHttp = new ActiveXObject(progIDs[i]);return xmlHttp;}
catch (ex){}
}
return null;}
}
Sys.Browser ={};Sys.Browser.InternetExplorer ={};Sys.Browser.Firefox ={};Sys.Browser.Safari ={};Sys.Browser.Opera ={};Sys.Browser.agent = null;Sys.Browser.hasDebuggerStatement = false;Sys.Browser.name = navigator.appName;Sys.Browser.version = parseFloat(navigator.appVersion);if (navigator.userAgent.indexOf(' MSIE ') > -1){Sys.Browser.agent = Sys.Browser.InternetExplorer;Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);Sys.Browser.hasDebuggerStatement = true;}
else if (navigator.userAgent.indexOf(' Firefox/') > -1){Sys.Browser.agent = Sys.Browser.Firefox;Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name = 'Firefox';Sys.Browser.hasDebuggerStatement = true;}
else if (navigator.userAgent.indexOf(' Safari/') > -1){Sys.Browser.agent = Sys.Browser.Safari;Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Safari\/(\d+\.\d+)/)[1]);Sys.Browser.name = 'Safari';}
else if (navigator.userAgent.indexOf('Opera/') > -1){Sys.Browser.agent = Sys.Browser.Opera;}
Type.registerNamespace('Sys.UI');Sys._Debug = function Sys$_Debug(){if (arguments.length !== 0) throw Error.parameterCount();}
function Sys$_Debug$_appendConsole(text){if ((typeof(Debug) !== 'undefined') && Debug.writeln){Debug.writeln(text);}
if (window.console && window.console.log){window.console.log(text);}
if (window.opera){window.opera.postError(text);}
if (window.debugService){window.debugService.trace(text);}
}
function Sys$_Debug$_appendTrace(text){var traceElement = document.getElementById('TraceConsole');if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')){traceElement.value += text + '\n';}
}
function Sys$_Debug$assert(condition,message,displayCaller){var e = Function._validateParams(arguments,[{name: "condition",type: Boolean},{name: "message",type: String,mayBeNull: true,optional: true},{name: "displayCaller",type: Boolean,optional: true}
]);if (e) throw e;if (!condition){message = (displayCaller && this.assert.caller) ?
String.format(Sys.Res.assertFailedCaller,message,this.assert.caller) :
String.format(Sys.Res.assertFailed,message);if (confirm(String.format(Sys.Res.breakIntoDebugger,message))){this.fail(message);}
}
}
function Sys$_Debug$clearTrace(){var traceElement = document.getElementById('TraceConsole');if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')){traceElement.value = '';}
}
function Sys$_Debug$fail(message){var e = Function._validateParams(arguments,[{name: "message",type: String,mayBeNull: true}
]);if (e) throw e;this._appendConsole(message);if (Sys.Browser.hasDebuggerStatement){eval('debugger');}
}
function Sys$_Debug$trace(text){var e = Function._validateParams(arguments,[{name: "text"}
]);if (e) throw e;this._appendConsole(text);this._appendTrace(text);}
function Sys$_Debug$traceDump(object,name){var e = Function._validateParams(arguments,[{name: "object",mayBeNull: true},{name: "name",type: String,mayBeNull: true,optional: true}
]);if (e) throw e;var text = this._traceDump(object,name,true);}
function Sys$_Debug$_traceDump(object,name,recursive,indentationPadding,loopArray){name = name? name : 'traceDump';indentationPadding = indentationPadding? indentationPadding : '';if (object === null){this.trace(indentationPadding + name + ': null');return;}
switch(typeof(object)){case 'undefined':
this.trace(indentationPadding + name + ': Undefined');break;case 'number': case 'string': case 'boolean':
this.trace(indentationPadding + name + ': ' + object);break;default:
if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)){this.trace(indentationPadding + name + ': ' + object.toString());break;}
if (!loopArray){loopArray = [];}
else if (Array.contains(loopArray,object)){this.trace(indentationPadding + name + ': ...');return;}
Array.add(loopArray,object);if ((object == window) || (object === document) ||
(window.HTMLElement && (object instanceof HTMLElement)) ||
(typeof(object.nodeName) === 'string')){var tag = object.tagName? object.tagName : 'DomElement';if (object.id){tag += ' - ' + object.id;}
this.trace(indentationPadding + name + '{' +  tag + '}');}
else{var typeName = Object.getTypeName(object);this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? '{' + typeName + '}' : ''));if ((indentationPadding === '') || recursive){indentationPadding += "    ";var i,length,properties,p,v;if (Array.isInstanceOfType(object)){length = object.length;for (i = 0;i < length;i++){this._traceDump(object[i],'[' + i + ']',recursive,indentationPadding,loopArray);}
}
else{for (p in object){v = object[p];if (!Function.isInstanceOfType(v)){this._traceDump(v,p,recursive,indentationPadding,loopArray);}
}
}
}
}
Array.remove(loopArray,object);}
}
Sys._Debug.prototype ={_appendConsole: Sys$_Debug$_appendConsole,_appendTrace: Sys$_Debug$_appendTrace,assert: Sys$_Debug$assert,clearTrace: Sys$_Debug$clearTrace,fail: Sys$_Debug$fail,trace: Sys$_Debug$trace,traceDump: Sys$_Debug$traceDump,_traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');Sys.Debug = new Sys._Debug();Sys.Debug.isDebug = true;function Sys$Enum$parse(value,ignoreCase){var e = Function._validateParams(arguments,[{name: "value",type: String},{name: "ignoreCase",type: Boolean,optional: true}
]);if (e) throw e;var values,parsed,val;if (ignoreCase){values = this.__lowerCaseValues;if (!values){this.__lowerCaseValues = values ={};var prototype = this.prototype;for (var name in prototype){values[name.toLowerCase()] = prototype[name];}
}
}
else{values = this.prototype;}
if (!this.__flags){val = (ignoreCase ? value.toLowerCase() : value);parsed = values[val.trim()];if (typeof(parsed) !== 'number') throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value,this.__typeName));return parsed;}
else{var parts = (ignoreCase ? value.toLowerCase() : value).split(',');var v = 0;for (var i = parts.length - 1;i >= 0;i--){var part = parts[i].trim();parsed = values[part];if (typeof(parsed) !== 'number') throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value.split(',')[i].trim(),this.__typeName));v |= parsed;}
return v;}
}
function Sys$Enum$toString(value){var e = Function._validateParams(arguments,[{name: "value",mayBeNull: true,optional: true}
]);if (e) throw e;if ((typeof(value) === 'undefined') || (value === null)) return this.__string;if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value',Object.getType(value),this);var values = this.prototype;var i;if (!this.__flags || (value === 0)){for (i in values){if (values[i] === value){return i;}
}
}
else{var sorted = this.__sortedValues;if (!sorted){sorted = [];for (i in values){sorted[sorted.length] ={key: i,value: values[i]};}
sorted.sort(function(a,b){return a.value - b.value;});this.__sortedValues = sorted;}
var parts = [];var v = value;for (i = sorted.length - 1;i >= 0;i--){var kvp = sorted[i];var vali = kvp.value;if (vali === 0) continue;if ((vali & value) === vali){parts[parts.length] = kvp.key;v -= vali;if (v === 0) break;}
}
if (parts.length && v === 0) return parts.reverse().join(',');}
throw Error.argumentOutOfRange('value',value,String.format(Sys.Res.enumInvalidValue,value,this.__typeName));}
Type.prototype.registerEnum = function Type$registerEnum(name,flags){var e = Function._validateParams(arguments,[{name: "name",type: String},{name: "flags",type: Boolean,optional: true}
]);if (e) throw e;if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name',Sys.Res.notATypeName);var parsedName;try{parsedName = eval(name);}
catch(e){throw Error.argument('name',Sys.Res.argumentTypeName);}
if (parsedName !== this) throw Error.argument('name',Sys.Res.badTypeName);if (window.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,name));for (var i in this.prototype){var val = this.prototype[i];if (!Type.__identifierRegExp.test(i)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName,i));if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger);if (typeof(this[i]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName,i));}
for (var i in this.prototype){this[i] = this.prototype[i];}
this.__typeName = name;this.parse = Sys$Enum$parse;this.__string = this.toString();this.toString = Sys$Enum$toString;this.__flags = flags;this.__enum = true;window.__registeredTypes[name] = true;}
Type.isEnum = function Type$isEnum(type){var e = Function._validateParams(arguments,[{name: "type",mayBeNull: true}
]);if (e) throw e;if ((typeof(type) === 'undefined') || (type === null)) return false;return !!type.__enum;}
Type.isFlags = function Type$isFlags(type){var e = Function._validateParams(arguments,[{name: "type",mayBeNull: true}
]);if (e) throw e;if ((typeof(type) === 'undefined') || (type === null)) return false;return !!type.__flags;}
Sys.EventHandlerList = function Sys$EventHandlerList(){if (arguments.length !== 0) throw Error.parameterCount();this._list ={};}
function Sys$EventHandlerList$addHandler(id,handler){var e = Function._validateParams(arguments,[{name: "id",type: String},{name: "handler",type: Function}
]);if (e) throw e;Array.add(this._getEvent(id,true),handler);}
function Sys$EventHandlerList$removeHandler(id,handler){var e = Function._validateParams(arguments,[{name: "id",type: String},{name: "handler",type: Function}
]);if (e) throw e;var evt = this._getEvent(id);if (!evt) return;Array.remove(evt,handler);}
function Sys$EventHandlerList$getHandler(id){var e = Function._validateParams(arguments,[{name: "id",type: String}
]);if (e) throw e;var evt = this._getEvent(id);if (!evt || (evt.length === 0)) return null;evt = Array.clone(evt);if (!evt._handler){evt._handler = function(source,args){for (var i = 0,l = evt.length;i < l;i++){evt[i](source,args);}
};}
return evt._handler;}
function Sys$EventHandlerList$_getEvent(id,create){if (!this._list[id]){if (!create) return null;this._list[id] = [];}
return this._list[id];}
Sys.EventHandlerList.prototype ={addHandler: Sys$EventHandlerList$addHandler,removeHandler: Sys$EventHandlerList$removeHandler,getHandler: Sys$EventHandlerList$getHandler,_getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');Sys.EventArgs = function Sys$EventArgs(){if (arguments.length !== 0) throw Error.parameterCount();}
Sys.EventArgs.registerClass('Sys.EventArgs');Sys.EventArgs.Empty = new Sys.EventArgs();Sys.CancelEventArgs = function Sys$CancelEventArgs(){if (arguments.length !== 0) throw Error.parameterCount();Sys.CancelEventArgs.initializeBase(this);this._cancel = false;}
function Sys$CancelEventArgs$get_cancel(){if (arguments.length !== 0) throw Error.parameterCount();return this._cancel;}
function Sys$CancelEventArgs$set_cancel(value){var e = Function._validateParams(arguments,[{name: "value",type: Boolean}]);if (e) throw e;this._cancel = value;}
Sys.CancelEventArgs.prototype ={get_cancel: Sys$CancelEventArgs$get_cancel,set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs',Sys.EventArgs);Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$INotifyPropertyChange$add_propertyChanged(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;throw Error.notImplemented();}
function Sys$INotifyPropertyChange$remove_propertyChanged(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;throw Error.notImplemented();}
Sys.INotifyPropertyChange.prototype ={add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName){var e = Function._validateParams(arguments,[{name: "propertyName",type: String}
]);if (e) throw e;Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName = propertyName;}
function Sys$PropertyChangedEventArgs$get_propertyName(){if (arguments.length !== 0) throw Error.parameterCount();return this._propertyName;}
Sys.PropertyChangedEventArgs.prototype ={get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs',Sys.EventArgs);Sys.INotifyDisposing = function Sys$INotifyDisposing(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$INotifyDisposing$add_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;throw Error.notImplemented();}
function Sys$INotifyDisposing$remove_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;throw Error.notImplemented();}
Sys.INotifyDisposing.prototype ={add_disposing: Sys$INotifyDisposing$add_disposing,remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component = function Sys$Component(){if (arguments.length !== 0) throw Error.parameterCount();if (Sys.Application) Sys.Application.registerDisposableObject(this);}
function Sys$Component$get_events(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._events){this._events = new Sys.EventHandlerList();}
return this._events;}
function Sys$Component$get_id(){if (arguments.length !== 0) throw Error.parameterCount();return this._id;}
function Sys$Component$set_id(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);this._idSet = true;var oldId = this.get_id();if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);this._id = value;}
function Sys$Component$get_isInitialized(){if (arguments.length !== 0) throw Error.parameterCount();return this._initialized;}
function Sys$Component$get_isUpdating(){if (arguments.length !== 0) throw Error.parameterCount();return this._updating;}
function Sys$Component$add_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("disposing",handler);}
function Sys$Component$remove_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("disposing",handler);}
function Sys$Component$add_propertyChanged(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("propertyChanged",handler);}
function Sys$Component$remove_propertyChanged(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("propertyChanged",handler);}
function Sys$Component$beginUpdate(){this._updating = true;}
function Sys$Component$dispose(){if (this._events){var handler = this._events.getHandler("disposing");if (handler){handler(this,Sys.EventArgs.Empty);}
}
delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this);}
function Sys$Component$endUpdate(){this._updating = false;if (!this._initialized) this.initialize();this.updated();}
function Sys$Component$initialize(){this._initialized = true;}
function Sys$Component$raisePropertyChanged(propertyName){var e = Function._validateParams(arguments,[{name: "propertyName",type: String}
]);if (e) throw e;if (!this._events) return;var handler = this._events.getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
}
function Sys$Component$updated(){}
Sys.Component.prototype ={_id: null,_idSet: false,_initialized: false,_updating: false,get_events: Sys$Component$get_events,get_id: Sys$Component$get_id,set_id: Sys$Component$set_id,get_isInitialized: Sys$Component$get_isInitialized,get_isUpdating: Sys$Component$get_isUpdating,add_disposing: Sys$Component$add_disposing,remove_disposing: Sys$Component$remove_disposing,add_propertyChanged: Sys$Component$add_propertyChanged,remove_propertyChanged: Sys$Component$remove_propertyChanged,beginUpdate: Sys$Component$beginUpdate,dispose: Sys$Component$dispose,endUpdate: Sys$Component$endUpdate,initialize: Sys$Component$initialize,raisePropertyChanged: Sys$Component$raisePropertyChanged,updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component',null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(target,properties){var e = Function._validateParams(arguments,[{name: "target"},{name: "properties"}
]);if (e) throw e;var current;var targetType = Object.getType(target);var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement);var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating();if (isComponent) target.beginUpdate();for (var name in properties){var val = properties[name];var getter = isObject ? null : target["get_" + name];if (isObject || typeof(getter) !== 'function'){var targetVal = target[name];if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined,name));if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)){target[name] = val;}
else{Sys$Component$_setProperties(targetVal,val);}
}
else{var setter = target["set_" + name];if (typeof(setter) === 'function'){setter.apply(target,[val]);}
else if (val instanceof Array){current = getter.apply(target);if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray,name));for (var i = 0,j = current.length,l= val.length;i < l;i++,j++){current[j] = val[i];}
}
else if ((typeof(val) === 'object') && (Object.getType(val) === Object)){current = getter.apply(target);if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined,name));Sys$Component$_setProperties(current,val);}
else{throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));}
}
}
if (isComponent) target.endUpdate();}
function Sys$Component$_setReferences(component,references){for (var name in references){var setter = component["set_" + name];var reference = $find(references[name]);if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound,references[name]));setter.apply(component,[reference]);}
}
var $create = Sys.Component.create = function Sys$Component$create(type,properties,events,references,element){var e = Function._validateParams(arguments,[{name: "type",type: Type},{name: "properties",mayBeNull: true,optional: true},{name: "events",mayBeNull: true,optional: true},{name: "references",mayBeNull: true,optional: true},{name: "element",mayBeNull: true,domElement: true,optional: true}
]);if (e) throw e;if (!type.inheritsFrom(Sys.Component)){throw Error.argument('type',String.format(Sys.Res.createNotComponent,type.getName()));}
if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)){if (!element) throw Error.argument('element',Sys.Res.createNoDom);}
else if (element) throw Error.argument('element',Sys.Res.createComponentOnDom);var component = (element ? new type(element): new type());var app = Sys.Application;var creatingComponents = app.get_isCreatingComponents();component.beginUpdate();if (properties){Sys$Component$_setProperties(component,properties);}
if (events){for (var name in events){if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent,name));if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);component["add_" + name](events[name]);}
}
app._createdComponents[app._createdComponents.length] = component;if (component.get_id()){app.addComponent(component);}
if (creatingComponents){if (references){app._addComponentToSecondPass(component,references);}
else{component.endUpdate();}
}
else{if (references){Sys$Component$_setReferences(component,references);}
component.endUpdate();}
return component;}
Sys.UI.MouseButton = function Sys$UI$MouseButton(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.MouseButton.prototype ={leftButton: 0,middleButton: 1,rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key = function Sys$UI$Key(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.Key.prototype ={backspace: 8,tab: 9,enter: 13,esc: 27,space: 32,pageUp: 33,pageDown: 34,end: 35,home: 36,left: 37,up: 38,right: 39,down: 40,del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject){var e = Function._validateParams(arguments,[{name: "eventObject"}
]);if (e) throw e;var e = eventObject;this.rawEvent = e;this.altKey = e.altKey;if (typeof(e.button) !== 'undefined'){this.button = (typeof(e.which) !== 'undefined') ? e.button :
(e.button === 4) ? Sys.UI.MouseButton.middleButton :
(e.button === 2) ? Sys.UI.MouseButton.rightButton :
Sys.UI.MouseButton.leftButton;}
if (e.type === 'keypress'){this.charCode = e.charCode || e.keyCode;}
else if (e.keyCode && (e.keyCode === 46)){this.keyCode = 127;}
else{this.keyCode = e.keyCode;}
this.clientX = e.clientX;this.clientY = e.clientY;this.ctrlKey = e.ctrlKey;this.target = e.target ? e.target : e.srcElement;if (this.target){var loc = Sys.UI.DomElement.getLocation(this.target);this.offsetX = (typeof(e.offsetX) !== 'undefined') ? e.offsetX : window.pageXOffset + (e.clientX || 0) - loc.x;this.offsetY = (typeof(e.offsetY) !== 'undefined') ? e.offsetY : window.pageYOffset + (e.clientY || 0) - loc.y;}
this.screenX = e.screenX;this.screenY = e.screenY;this.shiftKey = e.shiftKey;this.type = e.type;}
function Sys$UI$DomEvent$preventDefault(){if (arguments.length !== 0) throw Error.parameterCount();if (this.rawEvent.preventDefault){this.rawEvent.preventDefault();}
else if (window.event){window.event.returnValue = false;}
}
function Sys$UI$DomEvent$stopPropagation(){if (arguments.length !== 0) throw Error.parameterCount();if (this.rawEvent.stopPropagation){this.rawEvent.stopPropagation();}
else if (window.event){window.event.cancelBubble = true;}
}
Sys.UI.DomEvent.prototype ={preventDefault: Sys$UI$DomEvent$preventDefault,stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element,eventName,handler){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "eventName",type: String},{name: "handler",type: Function}
]);if (e) throw e;if (!element._events){element._events ={};}
var eventCache = element._events[eventName];if (!eventCache){element._events[eventName] = eventCache = [];}
var browserHandler;if (element.addEventListener){browserHandler = function(e){return handler.call(element,new Sys.UI.DomEvent(e));}
element.addEventListener(eventName,browserHandler,false);}
else if (element.attachEvent){browserHandler = function(){return handler.call(element,new Sys.UI.DomEvent(window.event));}
element.attachEvent('on' + eventName,browserHandler);}
eventCache[eventCache.length] ={handler: handler,browserHandler: browserHandler};}
var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element,events,handlerOwner){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "events",type: Object},{name: "handlerOwner",optional: true}
]);if (e) throw e;for (var name in events){var handler = events[name];if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);if (handlerOwner){handler = Function.createDelegate(handlerOwner,handler);}
$addHandler(element,name,handler);}
}
var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (element._events){var cache = element._events;for (var name in cache){var handlers = cache[name];for (var i = handlers.length - 1;i >= 0;i--){$removeHandler(element,name,handlers[i].handler);}
}
element._events = null;}
}
var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element,eventName,handler){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "eventName",type: String},{name: "handler",type: Function}
]);if (e) throw e;var browserHandler = null;if ((typeof(element._events) !== 'object') || (element._events == null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);var cache = element._events[eventName];if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);var browserHandler = null;for (var i = 0,l = cache.length;i < l;i++){if (cache[i].handler === handler){browserHandler = cache[i].browserHandler;break;}
}
if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);if (element.removeEventListener){element.removeEventListener(eventName,browserHandler,false);}
else if (element.detachEvent){element.detachEvent('on' + eventName,browserHandler);}
cache.splice(i,1);}
Sys.IContainer = function Sys$IContainer(){throw Error.notImplemented();}
function Sys$IContainer$addComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$IContainer$removeComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$IContainer$findComponent(id){var e = Function._validateParams(arguments,[{name: "id",type: String}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$IContainer$getComponents(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.IContainer.prototype ={addComponent: Sys$IContainer$addComponent,removeComponent: Sys$IContainer$removeComponent,findComponent: Sys$IContainer$findComponent,getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader = function Sys$_ScriptLoader(){this._scriptsToLoad = null;this._scriptLoadedDelegate = Function.createDelegate(this,this._scriptLoadedHandler);}
function Sys$_ScriptLoader$dispose(){this._stopLoading();if(this._events){delete this._events;}
this._scriptLoadedDelegate = null;}
function Sys$_ScriptLoader$loadScripts(scriptTimeout,allScriptsLoadedCallback,scriptLoadFailedCallback,scriptLoadTimeoutCallback){var e = Function._validateParams(arguments,[{name: "scriptTimeout",type: Number,integer: true},{name: "allScriptsLoadedCallback",type: Function,mayBeNull: true},{name: "scriptLoadFailedCallback",type: Function,mayBeNull: true},{name: "scriptLoadTimeoutCallback",type: Function,mayBeNull: true}
]);if (e) throw e;if(this._loading){throw Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);}
this._loading = true;this._allScriptsLoadedCallback = allScriptsLoadedCallback;this._scriptLoadFailedCallback = scriptLoadFailedCallback;this._scriptLoadTimeoutCallback = scriptLoadTimeoutCallback;this._loadScriptsInternal();}
function Sys$_ScriptLoader$notifyScriptLoaded(){if (arguments.length !== 0) throw Error.parameterCount();if(!this._loading){return;}
this._currentTask._notified++;if(Sys.Browser.agent === Sys.Browser.Safari){if(this._currentTask._notified === 1){window.setTimeout(Function.createDelegate(this,function(){this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true);}),0);}
}
}
function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes){var e = Function._validateParams(arguments,[{name: "scriptAttributes"}
]);if (e) throw e;if(!this._scriptsToLoad){this._scriptsToLoad = [];}
Array.add(this._scriptsToLoad,scriptAttributes);}
function Sys$_ScriptLoader$queueScriptBlock(scriptContent){var e = Function._validateParams(arguments,[{name: "scriptContent",type: String}
]);if (e) throw e;if(!this._scriptsToLoad){this._scriptsToLoad = [];}
Array.add(this._scriptsToLoad,{text: scriptContent});}
function Sys$_ScriptLoader$queueScriptReference(scriptUrl){var e = Function._validateParams(arguments,[{name: "scriptUrl",type: String}
]);if (e) throw e;if(!this._scriptsToLoad){this._scriptsToLoad = [];}
Array.add(this._scriptsToLoad,{src: scriptUrl});}
function Sys$_ScriptLoader$_createScriptElement(queuedScript){var scriptElement = document.createElement('SCRIPT');scriptElement.type = 'text/javascript';for (var attr in queuedScript){scriptElement[attr] = queuedScript[attr];}
return scriptElement;}
function Sys$_ScriptLoader$_loadScriptsInternal(){if (this._scriptsToLoad && this._scriptsToLoad.length > 0){var nextScript = Array.dequeue(this._scriptsToLoad);var scriptElement = this._createScriptElement(nextScript);if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari){scriptElement.innerHTML = scriptElement.text;delete scriptElement.text;}
if (typeof(nextScript.src) === "string"){this._currentTask = new Sys._ScriptLoaderTask(scriptElement,this._scriptLoadedDelegate);this._currentTask.execute();}
else{document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);Sys._ScriptLoader._clearScript(scriptElement);this._loadScriptsInternal();}
}
else{var callback = this._allScriptsLoadedCallback;this._stopLoading();if(callback){callback(this);}
}
}
function Sys$_ScriptLoader$_raiseError(multipleCallbacks){var callback = this._scriptLoadFailedCallback;var scriptElement = this._currentTask.get_scriptElement();this._stopLoading();if(callback){callback(this,scriptElement,multipleCallbacks);}
else{throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src,multipleCallbacks);}
}
function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement,loaded){if(loaded && this._currentTask._notified){if(this._currentTask._notified > 1){this._raiseError(true);}
else{Array.add(Sys._ScriptLoader._getLoadedScripts(),scriptElement.src);this._currentTask.dispose();this._currentTask = null;this._loadScriptsInternal();}
}
else{this._raiseError(false);}
}
function Sys$_ScriptLoader$_scriptLoadTimeoutHandler(){var callback = this._scriptLoadTimeoutCallback;this._stopLoading();if(callback){callback(this);}
}
function Sys$_ScriptLoader$_stopLoading(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie = null;}
if(this._currentTask){this._currentTask.dispose();this._currentTask = null;}
this._scriptsToLoad = null;this._loading = null;this._allScriptsLoadedCallback = null;this._scriptLoadFailedCallback = null;this._scriptLoadTimeoutCallback = null;}
Sys._ScriptLoader.prototype ={dispose: Sys$_ScriptLoader$dispose,loadScripts: Sys$_ScriptLoader$loadScripts,notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,queueScriptReference: Sys$_ScriptLoader$queueScriptReference,_createScriptElement: Sys$_ScriptLoader$_createScriptElement,_loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,_raiseError: Sys$_ScriptLoader$_raiseError,_scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,_scriptLoadTimeoutHandler: Sys$_ScriptLoader$_scriptLoadTimeoutHandler,_stopLoading: Sys$_ScriptLoader$_stopLoading
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader',null,Sys.IDisposable);Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance(){var sl = Sys._ScriptLoader._activeInstance;if(!sl){sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader();}
return sl;}
Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc){var dummyScript = document.createElement('script');dummyScript.src = scriptSrc;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),dummyScript.src);}
Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts(){if(!Sys._ScriptLoader._referencedScripts){var referencedScripts = Sys._ScriptLoader._referencedScripts = [];var existingScripts = document.getElementsByTagName('SCRIPT');for (i = existingScripts.length - 1;i >= 0;i--){var scriptNode = existingScripts[i];var scriptSrc = scriptNode.src;if (scriptSrc.length){if (!Array.contains(referencedScripts,scriptSrc)){Array.add(referencedScripts,scriptSrc);}
}
}
}
}
Sys._ScriptLoader._clearScript = function Sys$_ScriptLoader$_clearScript(scriptElement){if (!Sys.Debug.isDebug){scriptElement.parentNode.removeChild(scriptElement);}
}
Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl,multipleCallbacks){var errorMessage;if(multipleCallbacks){errorMessage = Sys.Res.scriptLoadMultipleCallbacks;}
else{errorMessage = Sys.Res.scriptLoadFailedDebug;}
var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage,scriptUrl);var e = Error.create(displayMessage,{name: 'Sys.ScriptLoadFailedException','scriptUrl': scriptUrl });e.popStackFrame();return e;}
Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getLoadedScripts(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts = [];Sys._ScriptLoader.readLoadedScripts();}
return Sys._ScriptLoader._referencedScripts;}
Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement,completedCallback){var e = Function._validateParams(arguments,[{name: "scriptElement",domElement: true},{name: "completedCallback",type: Function}
]);if (e) throw e;this._scriptElement = scriptElement;this._completedCallback = completedCallback;this._notified = 0;}
function Sys$_ScriptLoaderTask$get_scriptElement(){if (arguments.length !== 0) throw Error.parameterCount();return this._scriptElement;}
function Sys$_ScriptLoaderTask$dispose(){if(this._disposed){return;}
this._disposed = true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement = null;}
function Sys$_ScriptLoaderTask$execute(){if (arguments.length !== 0) throw Error.parameterCount();this._addScriptElementHandlers();document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement);}
function Sys$_ScriptLoaderTask$_addScriptElementHandlers(){this._scriptLoadDelegate = Function.createDelegate(this,this._scriptLoadHandler);if (Sys.Browser.agent !== Sys.Browser.InternetExplorer){this._scriptElement.readyState = 'loaded';$addHandler(this._scriptElement,'load',this._scriptLoadDelegate);}
else{$addHandler(this._scriptElement,'readystatechange',this._scriptLoadDelegate);}
this._scriptErrorDelegate = Function.createDelegate(this,this._scriptErrorHandler);$addHandler(this._scriptElement,'error',this._scriptErrorDelegate);}
function Sys$_ScriptLoaderTask$_removeScriptElementHandlers(){if(this._scriptLoadDelegate){var scriptElement = this.get_scriptElement();if (Sys.Browser.agent !== Sys.Browser.InternetExplorer){$removeHandler(scriptElement,'load',this._scriptLoadDelegate);}
else{$removeHandler(scriptElement,'readystatechange',this._scriptLoadDelegate);}
$removeHandler(scriptElement,'error',this._scriptErrorDelegate);this._scriptErrorDelegate = null;this._scriptLoadDelegate = null;}
}
function Sys$_ScriptLoaderTask$_scriptErrorHandler(){if(this._disposed){return;}
this._completedCallback(this.get_scriptElement(),false);}
function Sys$_ScriptLoaderTask$_scriptLoadHandler(){if(this._disposed){return;}
var scriptElement = this.get_scriptElement();if ((scriptElement.readyState !== 'loaded') &&
(scriptElement.readyState !== 'complete')){return;}
var _this = this;window.setTimeout(function(){_this._completedCallback(scriptElement,true);},0);}
Sys._ScriptLoaderTask.prototype ={get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,dispose: Sys$_ScriptLoaderTask$dispose,execute: Sys$_ScriptLoaderTask$execute,_addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers,_removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers,_scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,_scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components,isPartialLoad){var e = Function._validateParams(arguments,[{name: "components",type: Array,elementType: Sys.Component},{name: "isPartialLoad",type: Boolean}
]);if (e) throw e;Sys.ApplicationLoadEventArgs.initializeBase(this);this._components = components;this._isPartialLoad = isPartialLoad;}
function Sys$ApplicationLoadEventArgs$get_components(){if (arguments.length !== 0) throw Error.parameterCount();return this._components;}
function Sys$ApplicationLoadEventArgs$get_isPartialLoad(){if (arguments.length !== 0) throw Error.parameterCount();return this._isPartialLoad;}
Sys.ApplicationLoadEventArgs.prototype ={get_components: Sys$ApplicationLoadEventArgs$get_components,get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs',Sys.EventArgs);Sys._Application = function Sys$_Application(){Sys._Application.initializeBase(this);this._disposableObjects = [];this._components ={};this._createdComponents = [];this._secondPassComponents = [];this._unloadHandlerDelegate = Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate = Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate);}
function Sys$_Application$get_isCreatingComponents(){if (arguments.length !== 0) throw Error.parameterCount();return this._creatingComponents;}
function Sys$_Application$add_load(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("load",handler);}
function Sys$_Application$remove_load(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("load",handler);}
function Sys$_Application$add_init(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;if (this._initialized){handler(this,Sys.EventArgs.Empty);}
else{this.get_events().addHandler("init",handler);}
}
function Sys$_Application$remove_init(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("init",handler);}
function Sys$_Application$add_unload(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("unload",handler);}
function Sys$_Application$remove_unload(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("unload",handler);}
function Sys$_Application$addComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;var id = component.get_id();if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent,id));this._components[id] = component;}
function Sys$_Application$beginCreateComponents(){this._creatingComponents = true;}
function Sys$_Application$dispose(){if (!this._disposing){this._disposing = true;if (window.pageUnload){window.pageUnload(this,Sys.EventArgs.Empty);}
var unloadHandler = this.get_events().getHandler("unload");if (unloadHandler){unloadHandler(this,Sys.EventArgs.Empty);}
var disposableObjects = Array.clone(this._disposableObjects);for (var i = 0,l = disposableObjects.length;i < l;i++){disposableObjects[i].dispose();}
Array.clear(this._disposableObjects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate = null;}
var sl = Sys._ScriptLoader.getInstance();if(sl){sl.dispose();}
Sys._Application.callBaseMethod(this,'dispose');}
}
function Sys$_Application$endCreateComponents(){var components = this._secondPassComponents;for (var i = 0,l = components.length;i < l;i++){var component = components[i].component;Sys$Component$_setReferences(component,components[i].references);component.endUpdate();}
this._secondPassComponents = [];this._creatingComponents = false;}
function Sys$_Application$findComponent(id,parent){var e = Function._validateParams(arguments,[{name: "id",type: String},{name: "parent",mayBeNull: true,optional: true}
]);if (e) throw e;return (parent ?
((Sys.IContainer.isInstanceOfType(parent)) ?
parent.findComponent(id) :
parent[id] || null) :
Sys.Application._components[id] || null);}
function Sys$_Application$getComponents(){if (arguments.length !== 0) throw Error.parameterCount();var res = [];var components = this._components;for (var name in components){res[res.length] = components[name];}
return res;}
function Sys$_Application$initialize(){if(!this._initialized && !this._initializing){this._initializing = true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0);}
}
function Sys$_Application$notifyScriptLoaded(){if (arguments.length !== 0) throw Error.parameterCount();var sl = Sys._ScriptLoader.getInstance();if(sl){sl.notifyScriptLoaded();}
}
function Sys$_Application$registerDisposableObject(object){var e = Function._validateParams(arguments,[{name: "object",type: Sys.IDisposable}
]);if (e) throw e;if (!this._disposing){this._disposableObjects[this._disposableObjects.length] = object;}
}
function Sys$_Application$raiseLoad(){var h = this.get_events().getHandler("load");var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);if (h){h(this,args);}
if (window.pageLoad){window.pageLoad(this,args);}
this._createdComponents = [];}
function Sys$_Application$removeComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;var id = component.get_id();if (id) delete this._components[id];}
function Sys$_Application$unregisterDisposableObject(object){var e = Function._validateParams(arguments,[{name: "object",type: Sys.IDisposable}
]);if (e) throw e;if (!this._disposing){Array.remove(this._disposableObjects,object);}
}
function Sys$_Application$_addComponentToSecondPass(component,references){this._secondPassComponents[this._secondPassComponents.length] ={component: component,references: references};}
function Sys$_Application$_doInitialize(){Sys._Application.callBaseMethod(this,'initialize');var handler = this.get_events().getHandler("init");if (handler){this.beginCreateComponents();handler(this,Sys.EventArgs.Empty);this.endCreateComponents();}
this.raiseLoad();this._initializing = false;}
function Sys$_Application$_loadHandler(){if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate = null;}
this.initialize();}
function Sys$_Application$_unloadHandler(event){this.dispose();}
Sys._Application.prototype ={_creatingComponents: false,_disposing: false,get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,add_load: Sys$_Application$add_load,remove_load: Sys$_Application$remove_load,add_init: Sys$_Application$add_init,remove_init: Sys$_Application$remove_init,add_unload: Sys$_Application$add_unload,remove_unload: Sys$_Application$remove_unload,addComponent: Sys$_Application$addComponent,beginCreateComponents: Sys$_Application$beginCreateComponents,dispose: Sys$_Application$dispose,endCreateComponents: Sys$_Application$endCreateComponents,findComponent: Sys$_Application$findComponent,getComponents: Sys$_Application$getComponents,initialize: Sys$_Application$initialize,notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,registerDisposableObject: Sys$_Application$registerDisposableObject,raiseLoad: Sys$_Application$raiseLoad,removeComponent: Sys$_Application$removeComponent,unregisterDisposableObject: Sys$_Application$unregisterDisposableObject,_addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass,_doInitialize: Sys$_Application$_doInitialize,_loadHandler: Sys$_Application$_loadHandler,_unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application',Sys.Component,Sys.IContainer);Sys.Application = new Sys._Application();var $find = Sys.Application.findComponent;Type.registerNamespace('Sys.Net');Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor(){if (arguments.length !== 0) throw Error.parameterCount();this._webRequest = null;this._resultObject = null;}
function Sys$Net$WebRequestExecutor$get_webRequest(){if (arguments.length !== 0) throw Error.parameterCount();return this._webRequest;}
function Sys$Net$WebRequestExecutor$_set_webRequest(value){if (this.get_started()){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'set_webRequest'));}
this._webRequest = value;}
function Sys$Net$WebRequestExecutor$get_started(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseAvailable(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_timedOut(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_aborted(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseData(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusCode(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusText(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_xml(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_object(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._resultObject){this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());}
return this._resultObject;}
function Sys$Net$WebRequestExecutor$executeRequest(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$abort(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getResponseHeader(header){var e = Function._validateParams(arguments,[{name: "header",type: String}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getAllResponseHeaders(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.Net.WebRequestExecutor.prototype ={get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,_set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,get_started: Sys$Net$WebRequestExecutor$get_started,get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable,get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,get_aborted: Sys$Net$WebRequestExecutor$get_aborted,get_responseData: Sys$Net$WebRequestExecutor$get_responseData,get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,get_statusText: Sys$Net$WebRequestExecutor$get_statusText,get_xml: Sys$Net$WebRequestExecutor$get_xml,get_object: Sys$Net$WebRequestExecutor$get_object,executeRequest: Sys$Net$WebRequestExecutor$executeRequest,abort: Sys$Net$WebRequestExecutor$abort,getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');window.XMLDOM = function window$XMLDOM(markup){if (!window.DOMParser){var progIDs = [ 'Msxml2.DOMDocument.3.0','Msxml2.DOMDocument' ];for (var i = 0;i < progIDs.length;i++){try{var xmlDOM = new ActiveXObject(progIDs[i]);xmlDOM.async = false;xmlDOM.loadXML(markup);xmlDOM.setProperty('SelectionLanguage','XPath');return xmlDOM;}
catch (ex){}
}
return null;}
else{try{var domParser = new window.DOMParser();return domParser.parseFromString(markup,'text/xml');} catch (ex){return null;}
}
return null;}
Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor(){if (arguments.length !== 0) throw Error.parameterCount();Sys.Net.XMLHttpExecutor.initializeBase(this);var _this = this;this._xmlHttpRequest = null;this._webRequest = null;this._responseAvailable = false;this._timedOut = false;this._timer = null;this._aborted = false;this._started = false;this._onReadyStateChange = function (){if (_this._xmlHttpRequest.readyState === 4 ){_this._clearTimer();_this._responseAvailable = true;_this._webRequest.completed(Sys.EventArgs.Empty);if (_this._xmlHttpRequest != null){_this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;_this._xmlHttpRequest = null;}
}
}
this._clearTimer = function this$_clearTimer(){if (_this._timer != null){window.clearTimeout(_this._timer);_this._timer = null;}
}
this._onTimeout = function this$_onTimeout(){if (!_this._responseAvailable){_this._clearTimer();_this._timedOut = true;_this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;_this._xmlHttpRequest.abort();_this._webRequest.completed(Sys.EventArgs.Empty);_this._xmlHttpRequest = null;}
}
}
function Sys$Net$XMLHttpExecutor$get_timedOut(){if (arguments.length !== 0) throw Error.parameterCount();return this._timedOut;}
function Sys$Net$XMLHttpExecutor$get_started(){if (arguments.length !== 0) throw Error.parameterCount();return this._started;}
function Sys$Net$XMLHttpExecutor$get_responseAvailable(){if (arguments.length !== 0) throw Error.parameterCount();return this._responseAvailable;}
function Sys$Net$XMLHttpExecutor$get_aborted(){if (arguments.length !== 0) throw Error.parameterCount();return this._aborted;}
function Sys$Net$XMLHttpExecutor$executeRequest(){if (arguments.length !== 0) throw Error.parameterCount();this._webRequest = this.get_webRequest();if (this._started){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'executeRequest'));}
if (this._webRequest === null){throw Error.invalidOperation(Sys.Res.nullWebRequest);}
var body = this._webRequest.get_body();var headers = this._webRequest.get_headers();this._xmlHttpRequest = new XMLHttpRequest();this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange;var verb = this._webRequest.get_httpVerb();this._xmlHttpRequest.open(verb,this._webRequest.getResolvedUrl(),true );if (headers){for (var header in headers){var val = headers[header];if (typeof(val) !== "function")
this._xmlHttpRequest.setRequestHeader(header,val);}
}
if (verb.toLowerCase() === "post"){if ((headers === null) || !headers['Content-Type']){this._xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}
if (!body){body = "";}
}
var timeout = this._webRequest.get_timeout();if (timeout > 0){this._timer = window.setTimeout(Function.createDelegate(this,this._onTimeout),timeout);}
this._xmlHttpRequest.send(body);this._started = true;}
function Sys$Net$XMLHttpExecutor$getResponseHeader(header){var e = Function._validateParams(arguments,[{name: "header",type: String}
]);if (e) throw e;if (!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getResponseHeader'));}
if (!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getResponseHeader'));}
var result;try{result = this._xmlHttpRequest.getResponseHeader(header);} catch (e){}
if (!result) result = "";return result;}
function Sys$Net$XMLHttpExecutor$getAllResponseHeaders(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getAllResponseHeaders'));}
if (!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getAllResponseHeaders'));}
return this._xmlHttpRequest.getAllResponseHeaders();}
function Sys$Net$XMLHttpExecutor$get_responseData(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_responseData'));}
if (!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_responseData'));}
return this._xmlHttpRequest.responseText;}
function Sys$Net$XMLHttpExecutor$get_statusCode(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusCode'));}
if (!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusCode'));}
return this._xmlHttpRequest.status;}
function Sys$Net$XMLHttpExecutor$get_statusText(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusText'));}
if (!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusText'));}
return this._xmlHttpRequest.statusText;}
function Sys$Net$XMLHttpExecutor$get_xml(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_xml'));}
if (!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_xml'));}
var xml = this._xmlHttpRequest.responseXML;if (!xml || !xml.documentElement){xml = new XMLDOM(this._xmlHttpRequest.responseText);if (!xml || !xml.documentElement)
return null;}
else if (navigator.userAgent.indexOf('MSIE') !== -1){xml.setProperty('SelectionLanguage','XPath');}
if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
xml.documentElement.tagName === "parsererror"){return null;}
if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror"){return null;}
return xml;}
function Sys$Net$XMLHttpExecutor$abort(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._started){throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);}
if (this._aborted || this._responseAvailable || this._timedOut)
return;this._aborted = true;this._clearTimer();if (this._xmlHttpRequest && !this._responseAvailable){this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest = null;var handler = this._webRequest._get_eventHandlerList().getHandler("completed");if (handler){handler(this,Sys.EventArgs.Empty);}
}
}
Sys.Net.XMLHttpExecutor.prototype ={get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,get_started: Sys$Net$XMLHttpExecutor$get_started,get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable,get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders,get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,get_xml: Sys$Net$XMLHttpExecutor$get_xml,abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor',Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager(){this._this = this;this._defaultTimeout = 0;this._defaultExecutorType = "Sys.Net.XMLHttpExecutor";}
function Sys$Net$_WebRequestManager$add_invokingRequest(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this._get_eventHandlerList().addHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$remove_invokingRequest(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this._get_eventHandlerList().removeHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$add_completedRequest(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this._get_eventHandlerList().addHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$remove_completedRequest(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this._get_eventHandlerList().removeHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$_get_eventHandlerList(){if (!this._events){this._events = new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$_WebRequestManager$get_defaultTimeout(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultTimeout;}
function Sys$Net$_WebRequestManager$set_defaultTimeout(value){var e = Function._validateParams(arguments,[{name: "value",type: Number}]);if (e) throw e;if (value < 0){throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._defaultTimeout = value;}
function Sys$Net$_WebRequestManager$get_defaultExecutorType(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultExecutorType;}
function Sys$Net$_WebRequestManager$set_defaultExecutorType(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;this._defaultExecutorType = value;}
function Sys$Net$_WebRequestManager$executeRequest(webRequest){var e = Function._validateParams(arguments,[{name: "webRequest",type: Sys.Net.WebRequest}
]);if (e) throw e;var executor = webRequest.get_executor();if (!executor){var failed = false;try{var executorType = eval(this._defaultExecutorType);executor = new executorType();} catch (e){failed = true;}
if (failed  || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor){throw Error.argument("defaultExecutorType",String.format(Sys.Res.invalidExecutorType,this._defaultExecutorType));}
webRequest.set_executor(executor);}
if (executor.get_aborted()){return;}
var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest);var handler = this._get_eventHandlerList().getHandler("invokingRequest");if (handler){handler(this,evArgs);}
if (!evArgs.get_cancel()){executor.executeRequest();}
}
Sys.Net._WebRequestManager.prototype ={add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest,add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest,remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest,_get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList,get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType,set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType,executeRequest: Sys$Net$_WebRequestManager$executeRequest
}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager();Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest){var e = Function._validateParams(arguments,[{name: "webRequest",type: Sys.Net.WebRequest}
]);if (e) throw e;Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest = webRequest;}
function Sys$Net$NetworkRequestEventArgs$get_webRequest(){if (arguments.length !== 0) throw Error.parameterCount();return this._webRequest;}
Sys.Net.NetworkRequestEventArgs.prototype ={get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs',Sys.CancelEventArgs);Sys.Net.WebRequest = function Sys$Net$WebRequest(){if (arguments.length !== 0) throw Error.parameterCount();this._url = "";this._headers ={};this._body = null;this._userContext = null;this._httpVerb = null;this._executor = null;this._invokeCalled = false;this._timeout = 0;}
function Sys$Net$WebRequest$add_completed(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this._get_eventHandlerList().addHandler("completed",handler);}
function Sys$Net$WebRequest$remove_completed(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this._get_eventHandlerList().removeHandler("completed",handler);}
function Sys$Net$WebRequest$completed(eventArgs){var e = Function._validateParams(arguments,[{name: "eventArgs",type: Sys.EventArgs}
]);if (e) throw e;var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if (handler){handler(this._executor,eventArgs);}
handler = this._get_eventHandlerList().getHandler("completed");if (handler){handler(this._executor,eventArgs);}
}
function Sys$Net$WebRequest$_get_eventHandlerList(){if (!this._events){this._events = new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$WebRequest$get_url(){if (arguments.length !== 0) throw Error.parameterCount();return this._url;}
function Sys$Net$WebRequest$set_url(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;this._url = value;}
function Sys$Net$WebRequest$get_headers(){if (arguments.length !== 0) throw Error.parameterCount();return this._headers;}
function Sys$Net$WebRequest$get_httpVerb(){if (arguments.length !== 0) throw Error.parameterCount();if (this._httpVerb === null){if (this._body === null){return "GET";}
return "POST";}
return this._httpVerb;}
function Sys$Net$WebRequest$set_httpVerb(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;if (value.length === 0){throw Error.argument('value',Sys.Res.invalidHttpVerb);}
this._httpVerb = value;}
function Sys$Net$WebRequest$get_body(){if (arguments.length !== 0) throw Error.parameterCount();return this._body;}
function Sys$Net$WebRequest$set_body(value){var e = Function._validateParams(arguments,[{name: "value",mayBeNull: true}]);if (e) throw e;this._body = value;}
function Sys$Net$WebRequest$get_userContext(){if (arguments.length !== 0) throw Error.parameterCount();return this._userContext;}
function Sys$Net$WebRequest$set_userContext(value){var e = Function._validateParams(arguments,[{name: "value",mayBeNull: true}]);if (e) throw e;this._userContext = value;}
function Sys$Net$WebRequest$get_executor(){if (arguments.length !== 0) throw Error.parameterCount();return this._executor;}
function Sys$Net$WebRequest$set_executor(value){var e = Function._validateParams(arguments,[{name: "value",type: Sys.Net.WebRequestExecutor}]);if (e) throw e;if (this._executor !== null && this._executor.get_started()){throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);}
this._executor = value;this._executor._set_webRequest(this);}
function Sys$Net$WebRequest$get_timeout(){if (arguments.length !== 0) throw Error.parameterCount();if (this._timeout === 0){return Sys.Net.WebRequestManager.get_defaultTimeout();}
return this._timeout;}
function Sys$Net$WebRequest$set_timeout(value){var e = Function._validateParams(arguments,[{name: "value",type: Number}]);if (e) throw e;if (value < 0){throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._timeout = value;}
function Sys$Net$WebRequest$getResolvedUrl(){if (arguments.length !== 0) throw Error.parameterCount();return Sys.Net.WebRequest._resolveUrl(this._url);}
function Sys$Net$WebRequest$invoke(){if (arguments.length !== 0) throw Error.parameterCount();if (this._invokeCalled){throw Error.invalidOperation(Sys.Res.invokeCalledTwice);}
Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled = true;}
Sys.Net.WebRequest.prototype ={add_completed: Sys$Net$WebRequest$add_completed,remove_completed: Sys$Net$WebRequest$remove_completed,completed: Sys$Net$WebRequest$completed,_get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,get_url: Sys$Net$WebRequest$get_url,set_url: Sys$Net$WebRequest$set_url,get_headers: Sys$Net$WebRequest$get_headers,get_httpVerb: Sys$Net$WebRequest$get_httpVerb,set_httpVerb: Sys$Net$WebRequest$set_httpVerb,get_body: Sys$Net$WebRequest$get_body,set_body: Sys$Net$WebRequest$set_body,get_userContext: Sys$Net$WebRequest$get_userContext,set_userContext: Sys$Net$WebRequest$set_userContext,get_executor: Sys$Net$WebRequest$get_executor,set_executor: Sys$Net$WebRequest$set_executor,get_timeout: Sys$Net$WebRequest$get_timeout,set_timeout: Sys$Net$WebRequest$set_timeout,getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,invoke: Sys$Net$WebRequest$invoke
}
Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url,baseUrl){if (url && url.indexOf('://') !== -1){return url;}
if (!baseUrl || baseUrl.length === 0){var baseElement = document.getElementsByTagName('base')[0];if (baseElement && baseElement.href && baseElement.href.length > 0){baseUrl = baseElement.href;}
else{baseUrl = document.URL;}
}
var qsStart = baseUrl.indexOf('?');if (qsStart !== -1){baseUrl = baseUrl.substr(0,qsStart);}
baseUrl = baseUrl.substr(0,baseUrl.lastIndexOf('/') + 1);if (!url || url.length === 0){return baseUrl;}
if (url.charAt(0) === '/'){var slashslash = baseUrl.indexOf('://');if (slashslash === -1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl1);}
var nextSlash = baseUrl.indexOf('/',slashslash + 3);if (nextSlash === -1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl2);}
return baseUrl.substr(0,nextSlash) + url;}
else{var lastSlash = baseUrl.lastIndexOf('/');if (lastSlash === -1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl3);}
return baseUrl.substr(0,lastSlash+1) + url;}
}
Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString,encodeMethod){if (!encodeMethod)
encodeMethod = encodeURIComponent;var sb = new Sys.StringBuilder();var i = 0;for (var arg in queryString){var obj = queryString[arg];if (typeof(obj) === "function") continue;var val = Sys.Serialization.JavaScriptSerializer.serialize(obj);if (i !== 0){sb.append('&');}
sb.append(arg);sb.append('=');sb.append(encodeMethod(val));i++;}
return sb.toString();}
Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url,queryString){if (!queryString){return url;}
var qs = Sys.Net.WebRequest._createQueryString(queryString);if (qs.length > 0){var sep = '?';if (url && url.indexOf('?') !== -1)
sep = '&';return url + sep + qs;} else{return url;}
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy(){}
function Sys$Net$WebServiceProxy$set_timeout(value){this._timeout = value;}
function Sys$Net$WebServiceProxy$get_timeout(){if (arguments.length !== 0) throw Error.parameterCount();return this._timeout;}
function Sys$Net$WebServiceProxy$set_defaultUserContext(value){this._userContext = value;}
function Sys$Net$WebServiceProxy$get_defaultUserContext(){if (arguments.length !== 0) throw Error.parameterCount();return this._userContext;}
function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value){this._succeeded = value;}
function Sys$Net$WebServiceProxy$get_defaultSucceededCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._succeeded;}
function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value){this._failed = value;}
function Sys$Net$WebServiceProxy$get_defaultFailedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._failed;}
function Sys$Net$WebServiceProxy$set_path(value){this._path = value;}
function Sys$Net$WebServiceProxy$get_path(){if (arguments.length !== 0) throw Error.parameterCount();return this._path;}
function Sys$Net$WebServiceProxy$_invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext){var e = Function._validateParams(arguments,[{name: "servicePath",type: String},{name: "methodName",type: String},{name: "useGet",type: Boolean},{name: "params"},{name: "onSuccess",type: Function,mayBeNull: true,optional: true},{name: "onFailure",type: Function,mayBeNull: true,optional: true},{name: "userContext",mayBeNull: true,optional: true}
]);if (e) throw e;if (onSuccess === null || typeof onSuccess === 'undefined') onSuccess = this.get_defaultSucceededCallback();if (onFailure === null || typeof onFailure === 'undefined') onFailure = this.get_defaultFailedCallback();if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,this.get_timeout());}
Sys.Net.WebServiceProxy.prototype ={set_timeout: Sys$Net$WebServiceProxy$set_timeout,get_timeout: Sys$Net$WebServiceProxy$get_timeout,set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext,get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext,set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback,get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback,set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback,get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback,set_path: Sys$Net$WebServiceProxy$set_path,get_path: Sys$Net$WebServiceProxy$get_path,_invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,timeout){var e = Function._validateParams(arguments,[{name: "servicePath",type: String},{name: "methodName",type: String},{name: "useGet",type: Boolean,optional: true},{name: "params",mayBeNull: true,optional: true},{name: "onSuccess",type: Function,mayBeNull: true,optional: true},{name: "onFailure",type: Function,mayBeNull: true,optional: true},{name: "userContext",mayBeNull: true,optional: true},{name: "timeout",type: Number,optional: true}
]);if (e) throw e;var request = new Sys.Net.WebRequest();request.get_headers()['Content-Type'] = 'application/json;charset=utf-8';if (!params) params ={};var urlParams = params;if (!useGet || !urlParams) urlParams ={};request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+methodName,urlParams));var body = null;if (!useGet){body = Sys.Serialization.JavaScriptSerializer.serialize(params);if (body === "{}") body = "";}
request.set_body(body);request.add_completed(onComplete);if (timeout && timeout > 0) request.set_timeout(timeout);request.invoke();function onComplete(response,eventArgs){if (response.get_responseAvailable()){var statusCode = response.get_statusCode();var result = null;try{var contentType = response.getResponseHeader("Content-Type");if (contentType.startsWith("application/json")){result = response.get_object();}
else if (contentType.startsWith("text/xml")){result = response.get_xml();}
else{result = response.get_responseData();}
} catch (ex){}
var error = response.getResponseHeader("jsonerror");var errorObj = (error === "true");if (errorObj){result = new Sys.Net.WebServiceError(false,result.Message,result.StackTrace,result.ExceptionType);}
if (((statusCode < 200) || (statusCode >= 300)) || errorObj){if (onFailure){if (!result || !errorObj){result = new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,methodName),"","");}
result._statusCode = statusCode;onFailure(result,userContext,methodName);}
else{var error;if (result && errorObj){error = result.get_exceptionType() + "-- " + result.get_message();}
else{error = response.get_responseData();}
alert(String.format(Sys.Res.webServiceFailed,methodName,error));}
}
else if (onSuccess){onSuccess(result,userContext,methodName);}
}
else{var msg;if (response.get_timedOut()){msg = String.format(Sys.Res.webServiceTimedOut,methodName);}
else{msg = String.format(Sys.Res.webServiceFailedNoMsg,methodName)
}
if (onFailure){onFailure(new Sys.Net.WebServiceError(response.get_timedOut(),msg,"",""),userContext,methodName);}
else{alert(msg);}
}
}
return request;}
Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type){return function(properties){if (properties){for (var name in properties){this[name] = properties[name];}
}
this.__type = type;}
}
Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut,message,stackTrace,exceptionType){var e = Function._validateParams(arguments,[{name: "timedOut",type: Boolean},{name: "message",type: String,mayBeNull: true},{name: "stackTrace",type: String,mayBeNull: true},{name: "exceptionType",type: String,mayBeNull: true}
]);if (e) throw e;this._timedOut = timedOut;this._message = message;this._stackTrace = stackTrace;this._exceptionType = exceptionType;this._statusCode = -1;}
function Sys$Net$WebServiceError$get_timedOut(){if (arguments.length !== 0) throw Error.parameterCount();return this._timedOut;}
function Sys$Net$WebServiceError$get_statusCode(){if (arguments.length !== 0) throw Error.parameterCount();return this._statusCode;}
function Sys$Net$WebServiceError$get_message(){if (arguments.length !== 0) throw Error.parameterCount();return this._message;}
function Sys$Net$WebServiceError$get_stackTrace(){if (arguments.length !== 0) throw Error.parameterCount();return this._stackTrace;}
function Sys$Net$WebServiceError$get_exceptionType(){if (arguments.length !== 0) throw Error.parameterCount();return this._exceptionType;}
Sys.Net.WebServiceError.prototype ={get_timedOut: Sys$Net$WebServiceError$get_timedOut,get_statusCode: Sys$Net$WebServiceError$get_statusCode,get_message: Sys$Net$WebServiceError$get_message,get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');Type.registerNamespace('Sys.Services');Sys.Services._ProfileService = function Sys$Services$_ProfileService(){Sys.Services._ProfileService.initializeBase(this);this.properties ={};}
Sys.Services._ProfileService.DefaultWebServicePath = '';function Sys$Services$_ProfileService$get_defaultFailedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultFailedCallback;}
function Sys$Services$_ProfileService$set_defaultFailedCallback(value){var e = Function._validateParams(arguments,[{name: "value",type: Function,mayBeNull: true}]);if (e) throw e;this._defaultFailedCallback = value;}
function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultLoadCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value){var e = Function._validateParams(arguments,[{name: "value",type: Function,mayBeNull: true}]);if (e) throw e;this._defaultLoadCompletedCallback = value;}
function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultSaveCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value){var e = Function._validateParams(arguments,[{name: "value",type: Function,mayBeNull: true}]);if (e) throw e;this._defaultSaveCompletedCallback = value;}
function Sys$Services$_ProfileService$get_path(){if (arguments.length !== 0) throw Error.parameterCount();return this._path;}
function Sys$Services$_ProfileService$set_path(value){var e = Function._validateParams(arguments,[{name: "value",type: String,mayBeNull: true}]);if (e) throw e;if((!value) || (!value.length)){value = '';}
this._path = value;}
function Sys$Services$_ProfileService$get_timeout(){if (arguments.length !== 0) throw Error.parameterCount();return this._timeout;}
function Sys$Services$_ProfileService$set_timeout(value){var e = Function._validateParams(arguments,[{name: "value",type: Number}]);if (e) throw e;this._timeout = value;}
function Sys$Services$_ProfileService$load(propertyNames,loadCompletedCallback,failedCallback,userContext){var e = Function._validateParams(arguments,[{name: "propertyNames",type: Array,mayBeNull: true,optional: true,elementType: String},{name: "loadCompletedCallback",type: Function,mayBeNull: true,optional: true},{name: "failedCallback",type: Function,mayBeNull: true,optional: true},{name: "userContext",mayBeNull: true,optional: true}
]);if (e) throw e;var parameters ={};var methodName;if(!propertyNames){methodName = "GetAllPropertiesForCurrentUser";}
else{methodName = "GetPropertiesForCurrentUser";parameters ={properties: this._clonePropertyNames(propertyNames) };}
this._invoke(this._get_path(),methodName,false,parameters,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[loadCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_ProfileService$save(propertyNames,saveCompletedCallback,failedCallback,userContext){var e = Function._validateParams(arguments,[{name: "propertyNames",type: Array,mayBeNull: true,optional: true,elementType: String},{name: "saveCompletedCallback",type: Function,mayBeNull: true,optional: true},{name: "failedCallback",type: Function,mayBeNull: true,optional: true},{name: "userContext",mayBeNull: true,optional: true}
]);if (e) throw e;var flattenedProperties = this._flattenProperties(propertyNames,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values: flattenedProperties },Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[saveCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_ProfileService$_clonePropertyNames(arr){var nodups = [];var seen ={};for(var i=0;i < arr.length;i++){var prop = arr[i];if(!seen[prop]){Array.add(nodups,prop);seen[prop]=true;};}
return nodups;}
function Sys$Services$_ProfileService$_flattenProperties(propertyNames,properties,groupName){var flattenedProperties ={};var val;var key;if(propertyNames && propertyNames.length === 0){return flattenedProperties;}
for (var property in properties){val = properties[property];key = groupName ? groupName + "." + property : property;if(Sys.Services.ProfileGroup.isInstanceOfType(val)){var groupProperties = this._flattenProperties(propertyNames,val,key);for(var subKey in groupProperties){var subVal = groupProperties[subKey];flattenedProperties[subKey] = subVal;}
}
else{if(!propertyNames || Array.indexOf(propertyNames,key) !== -1){flattenedProperties[key] = val;}
}
}
return flattenedProperties;}
function Sys$Services$_ProfileService$_get_path(){var path = this.get_path();if(!path.length){path = Sys.Services._ProfileService.DefaultWebServicePath;}
if(!path || !path.length){throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_ProfileService$_onLoadComplete(result,context,methodName){if(typeof(result) !== "object"){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Object"));}
var unflattened = this._unflattenProperties(result);for(var name in unflattened){this.properties[name] = unflattened[name];}
var userCallback = context[0];var callback = userCallback ? userCallback : this._defaultLoadCompletedCallback;if(callback){callback(result.length,context[2],"Sys.Services.ProfileService.load");}
}
function Sys$Services$_ProfileService$_onLoadFailed(err,context,methodName){var userCallback = context[1];var callback = userCallback ? userCallback : this._defaultFailedCallback;if(callback){callback(err,context[2],"Sys.Services.ProfileService.load");}
}
function Sys$Services$_ProfileService$_onSaveComplete(result,context,methodName){if(typeof(result) !== "number"){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Number"));}
var userCallback = context[0];var userContext = context[2];var callback = userCallback ? userCallback : this._defaultSaveCompletedCallback;if(callback){callback(result,userContext,"Sys.Services.ProfileService.save");}
}
function Sys$Services$_ProfileService$_onSaveFailed(err,context,methodName){var userCallback = context[1];var userContext = context[2];var callback = userCallback ? userCallback : this._defaultFailedCallback;if(callback){callback(err,userContext,"Sys.Services.ProfileService.save");}
}
function Sys$Services$_ProfileService$_unflattenProperties(properties){var unflattenedProperties ={};var dotIndex;var val;var count = 0;for(var key in properties){count++;val = properties[key];dotIndex = key.indexOf('.');if(dotIndex !== -1){var groupName = key.substr(0,dotIndex);key = key.substr(dotIndex+1);var group = unflattenedProperties[groupName];if((!group) || (!Sys.Services.ProfileGroup.isInstanceOfType(group))){group = new Sys.Services.ProfileGroup();unflattenedProperties[groupName] = group;}
group[key] = val;}
else{unflattenedProperties[key] = val;}
}
properties.length = count;return unflattenedProperties;}
Sys.Services._ProfileService.prototype ={_defaultFailedCallback: null,_defaultLoadCompletedCallback: null,_defaultSaveCompletedCallback: null,_path: '',_timeout: 0,get_defaultFailedCallback: Sys$Services$_ProfileService$get_defaultFailedCallback,set_defaultFailedCallback: Sys$Services$_ProfileService$set_defaultFailedCallback,get_defaultLoadCompletedCallback: Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,set_defaultLoadCompletedCallback: Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,get_defaultSaveCompletedCallback: Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,set_defaultSaveCompletedCallback: Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,get_path: Sys$Services$_ProfileService$get_path,set_path: Sys$Services$_ProfileService$set_path,get_timeout: Sys$Services$_ProfileService$get_timeout,set_timeout: Sys$Services$_ProfileService$set_timeout,load: Sys$Services$_ProfileService$load,save: Sys$Services$_ProfileService$save,_clonePropertyNames: Sys$Services$_ProfileService$_clonePropertyNames,_flattenProperties: Sys$Services$_ProfileService$_flattenProperties,_get_path: Sys$Services$_ProfileService$_get_path,_onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,_onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,_onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,_onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,_unflattenProperties: Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService',Sys.Net.WebServiceProxy);Sys.Services.ProfileService = new Sys.Services._ProfileService();Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties){var e = Function._validateParams(arguments,[{name: "properties",mayBeNull: true,optional: true}
]);if (e) throw e;if(properties){for(var property in properties){this[property] = properties[property];}
}
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService(){if (arguments.length !== 0) throw Error.parameterCount();Sys.Services._AuthenticationService.initializeBase(this);}
Sys.Services._AuthenticationService.DefaultWebServicePath = '';function Sys$Services$_AuthenticationService$get_defaultFailedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultFailedCallback;}
function Sys$Services$_AuthenticationService$set_defaultFailedCallback(value){var e = Function._validateParams(arguments,[{name: "value",type: Function,mayBeNull: true}]);if (e) throw e;this._defaultFailedCallback = value;}
function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultLoginCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value){var e = Function._validateParams(arguments,[{name: "value",type: Function,mayBeNull: true}]);if (e) throw e;this._defaultLoginCompletedCallback = value;}
function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback(){if (arguments.length !== 0) throw Error.parameterCount();return this._defaultLogoutCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value){var e = Function._validateParams(arguments,[{name: "value",type: Function,mayBeNull: true}]);if (e) throw e;this._defaultLogoutCompletedCallback = value;}
function Sys$Services$_AuthenticationService$get_isLoggedIn(){if (arguments.length !== 0) throw Error.parameterCount();return this._authenticated;}
function Sys$Services$_AuthenticationService$get_path(){if (arguments.length !== 0) throw Error.parameterCount();return this._path;}
function Sys$Services$_AuthenticationService$set_path(value){var e = Function._validateParams(arguments,[{name: "value",type: String,mayBeNull: true}]);if (e) throw e;if((!value) || (!value.length)){value = '';}
this._path = value;}
function Sys$Services$_AuthenticationService$get_timeout(){if (arguments.length !== 0) throw Error.parameterCount();return this._timeout;}
function Sys$Services$_AuthenticationService$set_timeout(value){var e = Function._validateParams(arguments,[{name: "value",type: Number}]);if (e) throw e;this._timeout = value;}
function Sys$Services$_AuthenticationService$login(username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext){var e = Function._validateParams(arguments,[{name: "username",type: String},{name: "password",type: String,mayBeNull: true},{name: "isPersistent",type: Boolean,mayBeNull: true,optional: true},{name: "customInfo",type: String,mayBeNull: true,optional: true},{name: "redirectUrl",type: String,mayBeNull: true,optional: true},{name: "loginCompletedCallback",type: Function,mayBeNull: true,optional: true},{name: "failedCallback",type: Function,mayBeNull: true,optional: true},{name: "userContext",mayBeNull: true,optional: true}
]);if (e) throw e;this._invoke(this._get_path(),"Login",false,{userName: username,password: password,createPersistentCookie: isPersistent },Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[username,password,isPersistent,redirectUrl,loginCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$logout(redirectUrl,logoutCompletedCallback,failedCallback,userContext){var e = Function._validateParams(arguments,[{name: "redirectUrl",type: String,mayBeNull: true,optional: true},{name: "logoutCompletedCallback",type: Function,mayBeNull: true,optional: true},{name: "failedCallback",type: Function,mayBeNull: true,optional: true},{name: "userContext",mayBeNull: true,optional: true}
]);if (e) throw e;this._invoke(this._get_path(),"Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[redirectUrl,logoutCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$_get_path(){var path = this.get_path();if(!path.length){path = Sys.Services._AuthenticationService.DefaultWebServicePath;}
if(!path || !path.length){throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_AuthenticationService$_onLoginComplete(result,context,methodName){if(typeof(result) !== "boolean"){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Boolean"));}
var redirectUrl = context[3];var userCallback = context[4];var userContext = context[6];var callback = userCallback ? userCallback : this._defaultLoginCompletedCallback;if(result){this._authenticated = true;if(callback){callback(true,userContext,"Sys.Services.AuthenticationService.login");}
if(typeof(redirectUrl) !== "undefined" && redirectUrl !== null){window.location.href = redirectUrl;}
}
else if (callback){callback(false,userContext,"Sys.Services.AuthenticationService.login");}
}
function Sys$Services$_AuthenticationService$_onLoginFailed(err,context,methodName){var userCallback = context[5];var callback = userCallback ? userCallback : this._defaultFailedCallback;if(callback){callback(err,context[6],"Sys.Services.AuthenticationService.login");}
}
function Sys$Services$_AuthenticationService$_onLogoutComplete(result,context,methodName){if(result !== null){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"null"));}
var redirectUrl = context[0];var userCallback = context[1];var userContext = context[3];var callback = userCallback ? userCallback : this._defaultLogoutCompletedCallback;this._authenticated = false;if (callback){callback(null,userContext,"Sys.Services.AuthenticationService.logout");}
if(!redirectUrl){window.location.reload();}
else{window.location.href = redirectUrl;}
}
function Sys$Services$_AuthenticationService$_onLogoutFailed(err,context,methodName){var userCallback = context[2];var callback = userCallback ? userCallback : this._defaultFailedCallback;if(callback){callback(err,context[3],"Sys.Services.AuthenticationService.logout");}
}
function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated){this._authenticated = authenticated;}
Sys.Services._AuthenticationService.prototype ={_defaultFailedCallback: null,_defaultLoginCompletedCallback: null,_defaultLogoutCompletedCallback: null,_path: '',_timeout: 0,_authenticated: false,get_defaultFailedCallback: Sys$Services$_AuthenticationService$get_defaultFailedCallback,set_defaultFailedCallback: Sys$Services$_AuthenticationService$set_defaultFailedCallback,get_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,set_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,get_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,set_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,get_path: Sys$Services$_AuthenticationService$get_path,set_path: Sys$Services$_AuthenticationService$set_path,get_timeout: Sys$Services$_AuthenticationService$get_timeout,set_timeout: Sys$Services$_AuthenticationService$set_timeout,login: Sys$Services$_AuthenticationService$login,logout: Sys$Services$_AuthenticationService$logout,_get_path: Sys$Services$_AuthenticationService$_get_path,_onLoginComplete: Sys$Services$_AuthenticationService$_onLoginComplete,_onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,_onLogoutComplete: Sys$Services$_AuthenticationService$_onLogoutComplete,_onLogoutFailed: Sys$Services$_AuthenticationService$_onLogoutFailed,_setAuthenticated: Sys$Services$_AuthenticationService$_setAuthenticated
}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService',Sys.Net.WebServiceProxy);Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService();Type.registerNamespace('Sys.Serialization');Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer(){if (arguments.length !== 0) throw Error.parameterCount();}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');Sys.Serialization.JavaScriptSerializer._stringRegEx = new RegExp('["\b\f\n\r\t\\\\\x00-\x1F]','i');Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object,stringBuilder,sort){var i;switch (typeof object){case 'object':
if (object){if (Array.isInstanceOfType(object)){stringBuilder.append('[');for (i = 0;i < object.length;++i){if (i > 0){stringBuilder.append(',');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i],stringBuilder);}
stringBuilder.append(']');}
else{if (Date.isInstanceOfType(object)){stringBuilder.append('"\\/Date(');stringBuilder.append(object.getTime());stringBuilder.append(')\\/"');break;}
var properties = [];var propertyCount = 0;for (var name in object){if (name.startsWith('$')){continue;}
properties[propertyCount++] = name;}
if (sort) properties.sort();stringBuilder.append('{');var needComma = false;for (i=0;i<propertyCount;i++){var value = object[properties[i]];if (typeof value !== 'undefined' && typeof value !== 'function'){if (needComma){stringBuilder.append(',');}
else{needComma = true;}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i],stringBuilder,sort);stringBuilder.append(':');Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value,stringBuilder,sort);}
}
stringBuilder.append('}');}
}
else{stringBuilder.append('null');}
break;case 'number':
if (isFinite(object)){stringBuilder.append(String(object));}
else{throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);}
break;case 'string':
stringBuilder.append('"');if (Sys.Browser.agent === Sys.Browser.Safari || Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)){var length = object.length;for (i = 0;i < length;++i){var curChar = object.charAt(i);if (curChar >= ' '){if (curChar === '\\' || curChar === '"'){stringBuilder.append('\\');}
stringBuilder.append(curChar);}
else{switch (curChar){case '\b':
stringBuilder.append('\\b');break;case '\f':
stringBuilder.append('\\f');break;case '\n':
stringBuilder.append('\\n');break;case '\r':
stringBuilder.append('\\r');break;case '\t':
stringBuilder.append('\\t');break;default:
stringBuilder.append('\\u00');if (curChar.charCodeAt() < 16) stringBuilder.append('0');stringBuilder.append(curChar.charCodeAt().toString(16));}
}
}
} else{stringBuilder.append(object);}
stringBuilder.append('"');break;case 'boolean':
stringBuilder.append(object.toString());break;default:
stringBuilder.append('null');break;}
}
Sys.Serialization.JavaScriptSerializer.serialize = function Sys$Serialization$JavaScriptSerializer$serialize(object){var e = Function._validateParams(arguments,[{name: "object",mayBeNull: true}
]);if (e) throw e;var stringBuilder = new Sys.StringBuilder();Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object,stringBuilder,false);return stringBuilder.toString();}
Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data){var e = Function._validateParams(arguments,[{name: "data",type: String}
]);if (e) throw e;if (data.length === 0) throw Error.argument('data',Sys.Res.cannotDeserializeEmptyString);try{var exp = data.replace(new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"','g'),"$1new Date($2)");return eval('(' + exp + ')');}
catch (e){throw Error.argument('data',Sys.Res.cannotDeserializeInvalidJson);}
}
Sys.CultureInfo = function Sys$CultureInfo(name,numberFormat,dateTimeFormat){var e = Function._validateParams(arguments,[{name: "name",type: String},{name: "numberFormat",type: Object},{name: "dateTimeFormat",type: Object}
]);if (e) throw e;this.name = name;this.numberFormat = numberFormat;this.dateTimeFormat = dateTimeFormat;}
function Sys$CultureInfo$_getDateTimeFormats(){if (! this._dateTimeFormats){var dtf = this.dateTimeFormat;this._dateTimeFormats =
[ dtf.MonthDayPattern,dtf.YearMonthPattern,dtf.ShortDatePattern,dtf.ShortTimePattern,dtf.LongDatePattern,dtf.LongTimePattern,dtf.FullDateTimePattern,dtf.RFC1123Pattern,dtf.SortableDateTimePattern,dtf.UniversalSortableDateTimePattern ];}
return this._dateTimeFormats;}
function Sys$CultureInfo$_getMonthIndex(value){if (!this._upperMonths){this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames);}
return Array.indexOf(this._upperMonths,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrMonthIndex(value){if (!this._upperAbbrMonths){this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);}
return Array.indexOf(this._upperMonths,this._toUpper(value));}
function Sys$CultureInfo$_getDayIndex(value){if (!this._upperDays){this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames);}
return Array.indexOf(this._upperDays,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrDayIndex(value){if (!this._upperAbbrDays){this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);}
return Array.indexOf(this._upperAbbrDays,this._toUpper(value));}
function Sys$CultureInfo$_toUpperArray(arr){var result = [];for (var i = 0,il = arr.length;i < il;i++){result[i] = this._toUpper(arr[i]);}
return result;}
function Sys$CultureInfo$_toUpper(value){return value.split("\u00A0").join(' ').toUpperCase();}
Sys.CultureInfo.prototype ={_getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,_getMonthIndex: Sys$CultureInfo$_getMonthIndex,_getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,_getDayIndex: Sys$CultureInfo$_getDayIndex,_getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,_toUpperArray: Sys$CultureInfo$_toUpperArray,_toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value){var cultureInfo = Sys.Serialization.JavaScriptSerializer.deserialize(value);return new Sys.CultureInfo(cultureInfo.name,cultureInfo.numberFormat,cultureInfo.dateTimeFormat);}
Sys.CultureInfo.registerClass('Sys.CultureInfo');Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd,dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd,dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd,dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');if (typeof(__cultureInfo) === 'undefined'){var __cultureInfo = '{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd,MMMM dd,yyyy h:mm:ss tt","LongDatePattern":"dddd,MMMM dd,yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd,dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM,yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';}
Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo);delete __cultureInfo;Sys.UI.Point = function Sys$UI$Point(x,y){var e = Function._validateParams(arguments,[{name: "x",type: Number,integer: true},{name: "y",type: Number,integer: true}
]);if (e) throw e;this.x = x;this.y = y;}
Sys.UI.Point.registerClass('Sys.UI.Point');Sys.UI.Bounds = function Sys$UI$Bounds(x,y,width,height){var e = Function._validateParams(arguments,[{name: "x",type: Number,integer: true},{name: "y",type: Number,integer: true},{name: "height",type: Number,integer: true},{name: "width",type: Number,integer: true}
]);if (e) throw e;this.x = x;this.y = y;this.height = height;this.width = width;}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');Sys.UI.DomElement = function Sys$UI$DomElement(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;if (!Sys.UI.DomElement.containsCssClass(element,className)){if (element.className === ''){element.className = className;}
else{element.className += ' ' + className;}
}
}
Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;return Array.contains(element.className.split(' '),className);}
Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;var offset = Sys.UI.DomElement.getLocation(element);return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth || 0,element.offsetHeight || 0);}
var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id,element){var e = Function._validateParams(arguments,[{name: "id",type: String},{name: "element",mayBeNull: true,domElement: true,optional: true}
]);if (e) throw e;if (!element) return document.getElementById(id);if (element.getElementById) return element.getElementById(id);var nodeQueue = [];var childNodes = element.childNodes;for (var i = 0;i < childNodes.length;i++){var node = childNodes[i];if (node.nodeType == 1){nodeQueue[nodeQueue.length] = node;}
}
while (nodeQueue.length){node = nodeQueue.shift();if (node.id == id){return node;}
childNodes = node.childNodes;for (i = 0;i < childNodes.length;i++){node = childNodes[i];if (node.nodeType == 1){nodeQueue[nodeQueue.length] = node;}
}
}
return null;}
switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:
Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0);var clientRects = element.getClientRects();if (!clientRects || !clientRects.length){return new Sys.UI.Point(0,0);}
var w = element.ownerDocument.parentWindow;var offsetL = w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft + 2;var offsetT = w.screenTop - top.screenTop - top.document.documentElement.scrollTop + 2;var f = w.frameElement || null;if (f){var fstyle = f.currentStyle;offsetL += (f.frameBorder || 1) * 2 +
(parseInt(fstyle.paddingLeft) || 0) +
(parseInt(fstyle.borderLeftWidth) || 0) -
element.ownerDocument.documentElement.scrollLeft;offsetT += (f.frameBorder || 1) * 2 +
(parseInt(fstyle.paddingTop) || 0) +
(parseInt(fstyle.borderTopWidth) || 0) -
element.ownerDocument.documentElement.scrollTop;}
var clientRect = clientRects[0];return new Sys.UI.Point(
clientRect.left - offsetL,clientRect.top - offsetT);}
break;case Sys.Browser.Safari:
Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);var offsetX = 0;var offsetY = 0;var previous = null;var previousStyle = null;var currentStyle;for (var parent = element;parent;previous = parent,previousStyle = currentStyle,parent = parent.offsetParent){currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);var tagName = parent.tagName;if ((parent.offsetLeft || parent.offsetTop) &&
((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))){offsetX += parent.offsetLeft;offsetY += parent.offsetTop;}
}
currentStyle = Sys.UI.DomElement._getCurrentStyle(element);var elementPosition = currentStyle ? currentStyle.position : null;var elementPositioned = elementPosition && (elementPosition !== "static");if (!elementPosition || (elementPosition !== "absolute")){for (var parent = element.parentNode;parent;parent = parent.parentNode){tagName = parent.tagName;if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)){offsetX -= (parent.scrollLeft || 0);offsetY -= (parent.scrollTop || 0);}
currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);var parentPosition = currentStyle ? currentStyle.position : null;if (parentPosition && (parentPosition === "absolute")) break;}
}
return new Sys.UI.Point(offsetX,offsetY);}
break;case Sys.Browser.Opera:
Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);var offsetX = 0;var offsetY = 0;var previous = null;for (var parent = element;parent;previous = parent,parent = parent.offsetParent){var tagName = parent.tagName;offsetX += parent.offsetLeft || 0;offsetY += parent.offsetTop || 0;}
var elementPosition = element.style.position;var elementPositioned = elementPosition && (elementPosition !== "static");for (var parent = element.parentNode;parent;parent = parent.parentNode){tagName = parent.tagName;if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) &&
((elementPositioned &&
((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))){offsetX -= (parent.scrollLeft || 0);offsetY -= (parent.scrollTop || 0);}
var parentPosition = (parent && parent.style) ? parent.style.position : null;elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static"));}
return new Sys.UI.Point(offsetX,offsetY);}
break;default:
Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);var offsetX = 0;var offsetY = 0;var previous = null;var previousStyle = null;var currentStyle = null;for (var parent = element;parent;previous = parent,previousStyle = currentStyle,parent = parent.offsetParent){var tagName = parent.tagName;currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);if ((parent.offsetLeft || parent.offsetTop) &&
!((tagName === "BODY") &&
(!previousStyle || previousStyle.position !== "absolute"))){offsetX += parent.offsetLeft;offsetY += parent.offsetTop;}
if (previous !== null && currentStyle){if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")){offsetX += parseInt(currentStyle.borderLeftWidth) || 0;offsetY += parseInt(currentStyle.borderTopWidth) || 0;}
if (tagName === "TABLE" &&
(currentStyle.position === "relative" || currentStyle.position === "absolute")){offsetX += parseInt(currentStyle.marginLeft) || 0;offsetY += parseInt(currentStyle.marginTop) || 0;}
}
}
currentStyle = Sys.UI.DomElement._getCurrentStyle(element);var elementPosition = currentStyle ? currentStyle.position : null;var elementPositioned = elementPosition && (elementPosition !== "static");if (!elementPosition || (elementPosition !== "absolute")){for (var parent = element.parentNode;parent;parent = parent.parentNode){tagName = parent.tagName;if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)){offsetX -= (parent.scrollLeft || 0);offsetY -= (parent.scrollTop || 0);currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);offsetX += parseInt(currentStyle.borderLeftWidth) || 0;offsetY += parseInt(currentStyle.borderTopWidth) || 0;}
}
}
return new Sys.UI.Point(offsetX,offsetY);}
break;}
Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;var currentClassName = ' ' + element.className + ' ';var index = currentClassName.indexOf(' ' + className + ' ');if (index >= 0){element.className = (currentClassName.substr(0,index) + ' ' +
currentClassName.substring(index + className.length + 1,currentClassName.length)).trim();}
}
Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element,x,y){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "x",type: Number,integer: true},{name: "y",type: Number,integer: true}
]);if (e) throw e;var style = element.style;style.position = 'absolute';style.left = x + "px";style.top = y + "px";}
Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;if (Sys.UI.DomElement.containsCssClass(element,className)){Sys.UI.DomElement.removeCssClass(element,className);}
else{Sys.UI.DomElement.addCssClass(element,className);}
}
Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element){var w = (element.ownerDocument ? element.ownerDocument : element.documentElement).defaultView;return ((w && (element !== w) && w.getComputedStyle) ? w.getComputedStyle(element,null) : element.style);}
Sys.UI.Behavior = function Sys$UI$Behavior(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;Sys.UI.Behavior.initializeBase(this);this._element = element;var behaviors = element._behaviors;if (!behaviors){element._behaviors = [this];}
else{behaviors[behaviors.length] = this;}
}
function Sys$UI$Behavior$get_element(){if (arguments.length !== 0) throw Error.parameterCount();return this._element;}
function Sys$UI$Behavior$get_id(){if (arguments.length !== 0) throw Error.parameterCount();var baseId = Sys.UI.Behavior.callBaseMethod(this,'get_id');if (baseId) return baseId;if (!this._element || !this._element.id) return '';return this._element.id + '$' + this.get_name();}
function Sys$UI$Behavior$get_name(){if (arguments.length !== 0) throw Error.parameterCount();if (this._name) return this._name;var name = Object.getTypeName(this);var i = name.lastIndexOf('.');if (i != -1) name = name.substr(i + 1);if (!this.get_isInitialized()) this._name = name;return name;}
function Sys$UI$Behavior$set_name(value){if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' '))
throw Error.argument('value',Sys.Res.invalidId);if (typeof(this._element[value]) !== 'undefined')
throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName,value));if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);this._name = value;}
function Sys$UI$Behavior$initialize(){Sys.UI.Behavior.callBaseMethod(this,'initialize');var name = this.get_name();if (name) this._element[name] = this;}
function Sys$UI$Behavior$dispose(){Sys.UI.Behavior.callBaseMethod(this,'dispose');if (this._element){var name = this.get_name();if (name){this._element[name] = null;}
Array.remove(this._element._behaviors,this);delete this._element;}
}
Sys.UI.Behavior.prototype ={_name: null,get_element: Sys$UI$Behavior$get_element,get_id: Sys$UI$Behavior$get_id,get_name: Sys$UI$Behavior$get_name,set_name: Sys$UI$Behavior$set_name,initialize: Sys$UI$Behavior$initialize,dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior',Sys.Component);Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element,name){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "name",type: String}
]);if (e) throw e;var b = element[name];return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;}
Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (!element._behaviors) return [];return Array.clone(element._behaviors);}
Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element,type){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "type",type: Type}
]);if (e) throw e;var behaviors = element._behaviors;var results = [];if (behaviors){for (var i = 0,l = behaviors.length;i < l;i++){if (type.isInstanceOfType(behaviors[i])){results[results.length] = behaviors[i];}
}
}
return results;}
Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype ={hide: 0,collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control = function Sys$UI$Control(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (typeof(element.control) != 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);Sys.UI.Control.initializeBase(this);this._element = element;element.control = this;this._oldDisplayMode = this._element.style.display;if (!this._oldDisplayMode || (this._oldDisplayMode == 'none')){this._oldDisplayMode = '';}
}
function Sys$UI$Control$get_element(){if (arguments.length !== 0) throw Error.parameterCount();return this._element;}
function Sys$UI$Control$get_id(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._element) return '';return this._element.id;}
function Sys$UI$Control$set_id(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;throw Error.invalidOperation(Sys.Res.cantSetId);}
function Sys$UI$Control$get_parent(){if (arguments.length !== 0) throw Error.parameterCount();if (this._parent){return this._parent;}
else{var parentElement = this._element.parentNode;while (parentElement){if (parentElement.control){return parentElement.control;}
parentElement = parentElement.parentNode;}
return null;}
}
function Sys$UI$Control$set_parent(value){var e = Function._validateParams(arguments,[{name: "value",type: Sys.UI.Control}]);if (e) throw e;var parents = [this];var current = value;while (current){if (Array.contains(parents,current)) throw Error.invalidOperation(Sys.Res.circularParentChain);parents[parents.length] = current;current = current.get_parent();}
this._parent = value;}
function Sys$UI$Control$get_visibilityMode(){if (arguments.length !== 0) throw Error.parameterCount();return this._visibilityMode;}
function Sys$UI$Control$set_visibilityMode(value){var e = Function._validateParams(arguments,[{name: "value",type: Sys.UI.VisibilityMode}]);if (e) throw e;if (this._visibilityMode !== value){this._visibilityMode = value;if (this.get_visible() === false){if (this._visibilityMode === Sys.UI.VisibilityMode.hide){this._element.style.display = this._oldDisplayMode;}
else{this._element.style.display = 'none';}
}
}
this._visibilityMode = value;}
function Sys$UI$Control$get_visible(){if (arguments.length !== 0) throw Error.parameterCount();return (this._element.style.visibility != 'hidden');}
function Sys$UI$Control$set_visible(value){var e = Function._validateParams(arguments,[{name: "value",type: Boolean}]);if (e) throw e;if (value != this.get_visible()){this._element.style.visibility = value ? 'visible' : 'hidden';if (value || (this._visibilityMode === Sys.UI.VisibilityMode.hide)){this._element.style.display = this._oldDisplayMode;}
else{this._element.style.display = 'none';}
}
}
function Sys$UI$Control$addCssClass(className){var e = Function._validateParams(arguments,[{name: "className",type: String}
]);if (e) throw e;Sys.UI.DomElement.addCssClass(this._element,className);}
function Sys$UI$Control$dispose(){Sys.UI.Control.callBaseMethod(this,'dispose');if (this._element){this._element.control = undefined;delete this._element;}
}
function Sys$UI$Control$initialize(){Sys.UI.Control.callBaseMethod(this,'initialize');var elt = this._element;}
function Sys$UI$Control$onBubbleEvent(source,args){var e = Function._validateParams(arguments,[{name: "source"},{name: "args",type: Sys.EventArgs}
]);if (e) throw e;return false;}
function Sys$UI$Control$raiseBubbleEvent(source,args){var e = Function._validateParams(arguments,[{name: "source"},{name: "args",type: Sys.EventArgs}
]);if (e) throw e;var currentTarget = this.get_parent();while (currentTarget){if (currentTarget.onBubbleEvent(source,args)){return;}
currentTarget = currentTarget.get_parent();}
}
function Sys$UI$Control$removeCssClass(className){var e = Function._validateParams(arguments,[{name: "className",type: String}
]);if (e) throw e;Sys.UI.DomElement.removeCssClass(this._element,className);}
function Sys$UI$Control$toggleCssClass(className){var e = Function._validateParams(arguments,[{name: "className",type: String}
]);if (e) throw e;Sys.UI.DomElement.toggleCssClass(this._element,className);}
Sys.UI.Control.prototype ={_parent: null,_visibilityMode: Sys.UI.VisibilityMode.hide,get_element: Sys$UI$Control$get_element,get_id: Sys$UI$Control$get_id,set_id: Sys$UI$Control$set_id,get_parent: Sys$UI$Control$get_parent,set_parent: Sys$UI$Control$set_parent,get_visibilityMode: Sys$UI$Control$get_visibilityMode,set_visibilityMode: Sys$UI$Control$set_visibilityMode,get_visible: Sys$UI$Control$get_visible,set_visible: Sys$UI$Control$set_visible,addCssClass: Sys$UI$Control$addCssClass,dispose: Sys$UI$Control$dispose,initialize: Sys$UI$Control$initialize,onBubbleEvent: Sys$UI$Control$onBubbleEvent,raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,removeCssClass: Sys$UI$Control$removeCssClass,toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control',Sys.Component);Type.registerNamespace('Sys');Sys.Res={"argumentTypeName":"Value is not the name of an existing type.","methodRegisteredTwice":"Method{0} has already been registered.","cantSetIdAfterInit":"The id property can\u0027t be set on this object after initialization.","componentCantSetIdAfterAddedToApp":"The id property of a component can\u0027t be set after it\u0027s been added to the Application object.","behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already exists or it is the name of an existing property on the target element.","notATypeName":"Value is not a valid type name.","typeShouldBeTypeOrString":"Value is not a valid type or a valid type name.","boolTrueOrFalse":"Value must be \u0027true\u0027 or \u0027false\u0027.","stringFormatInvalid":"The format string is invalid.","referenceNotFound":"Component \u0027{0}\u0027 was not found.","enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t be used as an enum value name.","eventHandlerNotFound":"Handler not found.","circularParentChain":"The chain of control parents can\u0027t have circular references.","undefinedEvent":"\u0027{0}\u0027 is not an event.","notAMethod":"{0} is not a method.","propertyUndefined":"\u0027{0}\u0027 is not a property or an existing field.","eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.","scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \u0027Display a notification about every script error\u0027 under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().","propertyNotWritable":"\u0027{0}\u0027 is not a writable property.","enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum value.","controlAlreadyDefined":"A control is already associated with the element.","namespaceContainsObject":"Object{0} already exists and is not a namespace.","cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a function.","scriptLoaderAlreadyLoading":"ScriptLoader.loadScripts cannot be called while the ScriptLoader is already loading scripts.","invalidNameSpace":"Value is not a valid namespace identifier.","notAnInterface":"Value is not a valid interface.","eventHandlerNotFunction":"Handler must be a function.","propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.","typeRegisteredTwice":"Type{0} has already been registered.","cantSetNameAfterInit":"The name property can\u0027t be set on this object after initialization.","appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 can\u0027t be added to the application.","appComponentMustBeInitialized":"Components must be initialized before they are added to the Application object.","baseNotAClass":"Value is not a class.","methodNotFound":"No method found with name \u0027{0}\u0027.","arrayParseBadFormat":"Value must be a valid string representation for an array. It must start with a \u0027[\u0027 and end with a \u0027]\u0027.","cantSetId":"The id property can\u0027t be set on this object.","stringFormatBraceMismatch":"The format string contains an unmatched opening or closing brace.","enumValueNotInteger":"An enumeration definition can only contain integer values.","propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 because it returned a null value.","componentCantSetIdTwice":"The id property of a component can\u0027t be set more than once.","createComponentOnDom":"Value must be null for Components that are not Controls or Behaviors.","createNotComponent":"{0} does not derive from Sys.Component.","createNoDom":"Value must not be null for Controls and Behaviors.","cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an id.","badTypeName":"Value is not the name of the type being registered or the name is a reserved word.","argumentInteger":"Value must be an integer.","scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.","invokeCalledTwice":"Cannot call invoke more than once.","webServiceFailed":"The server method \u0027{0}\u0027 failed with the following error:{1}","argumentType":"Object cannot be converted to the required type.","argumentNull":"Value cannot be null.","controlCantSetId":"The id property can\u0027t be set on a control.","formatBadFormatSpecifier":"Format specifier was invalid.","webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.","argumentDomElement":"Value must be a DOM element.","invalidExecutorType":"Could not create a valid Sys.Net.WebRequestExecutor from:{0}.","cannotCallBeforeResponse":"Cannot call{0} when responseAvailable is false.","actualValue":"Actual value was{0}.","enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum{1}.","scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.","parameterCount":"Parameter count mismatch.","cannotDeserializeEmptyString":"Cannot deserialize empty string.","formatInvalidString":"Input string was not in a correct format.","invalidTimeout":"Value must be greater than or equal to zero.","cannotAbortBeforeStart":"Cannot abort when executor has not started.","argument":"Value does not fall within the expected range.","cannotDeserializeInvalidJson":"Cannot deserialize. The data does not correspond to valid JSON.","invalidHttpVerb":"httpVerb cannot be set to an empty or null string.","nullWebRequest":"Cannot call executeRequest with a null webRequest.","eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.","cannotSerializeNonFiniteNumbers":"Cannot serialize non finite numbers.","argumentUndefined":"Value cannot be undefined.","webServiceInvalidReturnType":"The server method \u0027{0}\u0027 returned an invalid type. Expected type:{1}","servicePathNotSet":"The path to the web service has not been set.","argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be converted to type \u0027{1}\u0027.","cannotCallOnceStarted":"Cannot call{0} once started.","badBaseUrl1":"Base URL does not contain ://.","badBaseUrl2":"Base URL does not contain another /.","badBaseUrl3":"Cannot find last / in base URL.","setExecutorAfterActive":"Cannot set executor after it has become active.","paramName":"Parameter name:{0}","cannotCallOutsideHandler":"Cannot call{0} outside of a completed event handler.","format":"One of the identified items was in an invalid format.","assertFailedCaller":"Assertion Failed:{0}\r\nat{1}","argumentOutOfRange":"Specified argument was out of the range of valid values.","webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.","notImplemented":"The method or operation is not implemented.","assertFailed":"Assertion Failed:{0}","invalidOperation":"Operation is not valid due to the current state of the object.","breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"
};if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.BoxSide = function(){}
AjaxControlToolkit.BoxSide.prototype ={Top : 0,Right : 1,Bottom : 2,Left : 3
}
AjaxControlToolkit.BoxSide.registerEnum("AjaxControlToolkit.BoxSide",false);AjaxControlToolkit._CommonToolkitScripts = function(){}
AjaxControlToolkit._CommonToolkitScripts.prototype ={_borderStyleNames : ["borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],_borderWidthNames : ["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],_paddingWidthNames : ["paddingTop","paddingRight","paddingBottom","paddingLeft"],_marginWidthNames : ["marginTop","marginRight","marginBottom","marginLeft"],getCurrentStyle : function(element,attribute,defaultValue){var currentValue = null;if (element){if (element.currentStyle){currentValue = element.currentStyle[attribute];} else if (document.defaultView && document.defaultView.getComputedStyle){var style = document.defaultView.getComputedStyle(element,null);if (style){currentValue = style[attribute];}
}
if (!currentValue && element.style.getPropertyValue){currentValue = element.style.getPropertyValue(attribute);}
else if (!currentValue && element.style.getAttribute){currentValue = element.style.getAttribute(attribute);}
}
if ((!currentValue || currentValue == "" || typeof(currentValue) === 'undefined')){if (typeof(defaultValue) != 'undefined'){currentValue = defaultValue;}
else{currentValue = null;}
}
return currentValue;},getInheritedBackgroundColor : function(element){if (!element) return '#FFFFFF';var background = this.getCurrentStyle(element,'backgroundColor');try{while (!background || background == '' || background == 'transparent' || background == 'rgba(0,0,0,0)'){element = element.parentNode;if (!element){background = '#FFFFFF';} else{background = this.getCurrentStyle(element,'backgroundColor');}
}
} catch(ex){background = '#FFFFFF';}
return background;},getLocation : function(element){if (element === document.documentElement){return new Sys.UI.Point(0,0);}
if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7){if (element.window === element || element.nodeType === 9 || !element.getClientRects || !element.getBoundingClientRect) return new Sys.UI.Point(0,0);var screenRects = element.getClientRects();if (!screenRects || !screenRects.length){return new Sys.UI.Point(0,0);}
var first = screenRects[0];var dLeft = 0;var dTop = 0;var inFrame = false;try{inFrame = element.ownerDocument.parentWindow.frameElement;} catch(ex){inFrame = true;}
if (inFrame){var clientRect = element.getBoundingClientRect();if (!clientRect){return new Sys.UI.Point(0,0);}
var minLeft = first.left;var minTop = first.top;for (var i = 1;i < screenRects.length;i++){var r = screenRects[i];if (r.left < minLeft){minLeft = r.left;}
if (r.top < minTop){minTop = r.top;}
}
dLeft = minLeft - clientRect.left;dTop = minTop - clientRect.top;}
var ownerDocument = element.document.documentElement;return new Sys.UI.Point(first.left - 2 - dLeft + ownerDocument.scrollLeft,first.top - 2 - dTop + ownerDocument.scrollTop);}
return Sys.UI.DomElement.getLocation(element);},setLocation : function(element,point){Sys.UI.DomElement.setLocation(element,point.x,point.y);},getContentSize : function(element){if (!element){throw Error.argumentNull('element');}
var size = this.getSize(element);var borderBox = this.getBorderBox(element);var paddingBox = this.getPaddingBox(element);return{width : size.width - borderBox.horizontal - paddingBox.horizontal,height : size.height - borderBox.vertical - paddingBox.vertical
}
},getSize : function(element){if (!element){throw Error.argumentNull('element');}
return{width: element.offsetWidth,height: element.offsetHeight
};},setContentSize : function(element,size){if (!element){throw Error.argumentNull('element');}
if (!size){throw Error.argumentNull('size');}
if(this.getCurrentStyle(element,'MozBoxSizing') == 'border-box' || this.getCurrentStyle(element,'BoxSizing') == 'border-box'){var borderBox = this.getBorderBox(element);var paddingBox = this.getPaddingBox(element);size ={width: size.width + borderBox.horizontal + paddingBox.horizontal,height: size.height + borderBox.vertical + paddingBox.vertical
};}
element.style.width = size.width.toString() + 'px';element.style.height = size.height.toString() + 'px';},setSize : function(element,size){if (!element){throw Error.argumentNull('element');}
if (!size){throw Error.argumentNull('size');}
var borderBox = this.getBorderBox(element);var paddingBox = this.getPaddingBox(element);var contentSize ={width: size.width - borderBox.horizontal - paddingBox.horizontal,height: size.height - borderBox.vertical - paddingBox.vertical
};this.setContentSize(element,contentSize);},getBounds : function(element){var offset = $common.getLocation(element);return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth || 0,element.offsetHeight || 0);},setBounds : function(element,bounds){if (!element){throw Error.argumentNull('element');}
if (!bounds){throw Error.argumentNull('bounds');}
this.setSize(element,bounds);$common.setLocation(element,bounds);},getClientBounds : function(){var clientWidth;var clientHeight;switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:
clientWidth = document.documentElement.clientWidth;clientHeight = document.documentElement.clientHeight;break;case Sys.Browser.Safari:
clientWidth = window.innerWidth;clientHeight = window.innerHeight;break;case Sys.Browser.Opera:
clientWidth = Math.min(window.innerWidth,document.body.clientWidth);clientHeight = Math.min(window.innerHeight,document.body.clientHeight);break;default:
clientWidth = Math.min(window.innerWidth,document.documentElement.clientWidth);clientHeight = Math.min(window.innerHeight,document.documentElement.clientHeight);break;}
return new Sys.UI.Bounds(0,0,clientWidth,clientHeight);},getMarginBox : function(element){if (!element){throw Error.argumentNull('element');}
var box ={top: this.getMargin(element,AjaxControlToolkit.BoxSide.Top),right: this.getMargin(element,AjaxControlToolkit.BoxSide.Right),bottom: this.getMargin(element,AjaxControlToolkit.BoxSide.Bottom),left: this.getMargin(element,AjaxControlToolkit.BoxSide.Left)
};box.horizontal = box.left + box.right;box.vertical = box.top + box.bottom;return box;},getBorderBox : function(element){if (!element){throw Error.argumentNull('element');}
var box ={top: this.getBorderWidth(element,AjaxControlToolkit.BoxSide.Top),right: this.getBorderWidth(element,AjaxControlToolkit.BoxSide.Right),bottom: this.getBorderWidth(element,AjaxControlToolkit.BoxSide.Bottom),left: this.getBorderWidth(element,AjaxControlToolkit.BoxSide.Left)
};box.horizontal = box.left + box.right;box.vertical = box.top + box.bottom;return box;},getPaddingBox : function(element){if (!element){throw Error.argumentNull('element');}
var box ={top: this.getPadding(element,AjaxControlToolkit.BoxSide.Top),right: this.getPadding(element,AjaxControlToolkit.BoxSide.Right),bottom: this.getPadding(element,AjaxControlToolkit.BoxSide.Bottom),left: this.getPadding(element,AjaxControlToolkit.BoxSide.Left)
};box.horizontal = box.left + box.right;box.vertical = box.top + box.bottom;return box;},isBorderVisible : function(element,boxSide){if (!element){throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left){throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,boxSide,'AjaxControlToolkit.BoxSide'));}
var styleName = this._borderStyleNames[boxSide];var styleValue = this.getCurrentStyle(element,styleName);return styleValue != "none";},getMargin : function(element,boxSide){if (!element){throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left){throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,boxSide,'AjaxControlToolkit.BoxSide'));}
var styleName = this._marginWidthNames[boxSide];var styleValue = this.getCurrentStyle(element,styleName);try{return this.parsePadding(styleValue);} catch(ex){return 0;}
},getBorderWidth : function(element,boxSide){if (!element){throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left){throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,boxSide,'AjaxControlToolkit.BoxSide'));}
if(!this.isBorderVisible(element,boxSide)){return 0;}
var styleName = this._borderWidthNames[boxSide];var styleValue = this.getCurrentStyle(element,styleName);return this.parseBorderWidth(styleValue);},getPadding : function(element,boxSide){if (!element){throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left){throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,boxSide,'AjaxControlToolkit.BoxSide'));}
var styleName = this._paddingWidthNames[boxSide];var styleValue = this.getCurrentStyle(element,styleName);return this.parsePadding(styleValue);},parseBorderWidth : function(borderWidth){if (!this._borderThicknesses){var borderThicknesses ={};var div0 = document.createElement('div');div0.style.visibility = 'hidden';div0.style.position = 'absolute';div0.style.fontSize = '1px';document.body.appendChild(div0)
var div1 = document.createElement('div');div1.style.height = '0px';div1.style.overflow = 'hidden';div0.appendChild(div1);var base = div0.offsetHeight;div1.style.borderTop = 'solid black';div1.style.borderTopWidth = 'thin';borderThicknesses['thin'] = div0.offsetHeight - base;div1.style.borderTopWidth = 'medium';borderThicknesses['medium'] = div0.offsetHeight - base;div1.style.borderTopWidth = 'thick';borderThicknesses['thick'] = div0.offsetHeight - base;div0.removeChild(div1);document.body.removeChild(div0);this._borderThicknesses = borderThicknesses;}
if (borderWidth){switch(borderWidth){case 'thin':
case 'medium':
case 'thick':
return this._borderThicknesses[borderWidth];case 'inherit':
return 0;}
var unit = this.parseUnit(borderWidth);Sys.Debug.assert(unit.type == 'px',String.format(AjaxControlToolkit.Resources.Common_InvalidBorderWidthUnit,unit.type));return unit.size;}
return 0;},parsePadding : function(padding){if(padding){if(padding == 'inherit'){return 0;}
var unit = this.parseUnit(padding);Sys.Debug.assert(unit.type == 'px',String.format(AjaxControlToolkit.Resources.Common_InvalidPaddingUnit,unit.type));return unit.size;}
return 0;},parseUnit : function(value){if (!value){throw Error.argumentNull('value');}
value = value.trim().toLowerCase();var l = value.length;var s = -1;for(var i = 0;i < l;i++){var ch = value.substr(i,1);if((ch < '0' || ch > '9') && ch != '-' && ch != '.' && ch != ','){break;}
s = i;}
if(s == -1){throw Error.create(AjaxControlToolkit.Resources.Common_UnitHasNoDigits);}
var type;var size;if(s < (l - 1)){type = value.substring(s + 1).trim();} else{type = 'px';}
size = parseFloat(value.substr(0,s + 1));if(type == 'px'){size = Math.floor(size);}
return{size: size,type: type
};},getElementOpacity : function(element){if (!element){throw Error.argumentNull('element');}
var hasOpacity = false;var opacity;if (element.filters){var filters = element.filters;if (filters.length !== 0){var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];if (alphaFilter){opacity = alphaFilter.opacity / 100.0;hasOpacity = true;}
}
}
else{opacity = this.getCurrentStyle(element,'opacity',1);hasOpacity = true;}
if (hasOpacity === false){return 1.0;}
return parseFloat(opacity);},setElementOpacity : function(element,value){if (!element){throw Error.argumentNull('element');}
if (element.filters){var filters = element.filters;var createFilter = true;if (filters.length !== 0){var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];if (alphaFilter){createFilter = false;alphaFilter.opacity = value * 100;}
}
if (createFilter){element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (value * 100) + ')';}
}
else{element.style.opacity = value;}
},getVisible : function(element){return (element &&
("none" != $common.getCurrentStyle(element,"display")) &&
("hidden" != $common.getCurrentStyle(element,"visibility")));},setVisible : function(element,value){if (element && value != $common.getVisible(element)){if (value){if (element.style.removeAttribute){element.style.removeAttribute("display");} else{element.style.removeProperty("display");}
} else{element.style.display = 'none';}
element.style.visibility = value ? 'visible' : 'hidden';}
},resolveFunction : function(value){if (value){if (value instanceof Function){return value;} else if (String.isInstanceOfType(value) && value.length > 0){var func;if ((func = window[value]) instanceof Function){return func;} else if ((func = eval(value)) instanceof Function){return func;}
}
}
return null;},addCssClasses : function(element,classNames){for(var i = 0;i < classNames.length;i++){Sys.UI.DomElement.addCssClass(element,classNames[i]);}
},removeCssClasses : function(element,classNames){for(var i = 0;i < classNames.length;i++){Sys.UI.DomElement.removeCssClass(element,classNames[i]);}
},setStyle : function(element,style){$common.applyProperties(element.style,style);},removeHandlers : function(element,events){for (var name in events){$removeHandler(element,name,events[name]);}
},overlaps : function(r1,r2){return r1.x < (r2.x + r2.width)
&& r2.x < (r1.x + r1.width)
&& r1.y < (r2.y + r2.height)
&& r2.y < (r1.y + r1.height);},containsPoint : function(rect,x,y){return x >= rect.x && x < (rect.x + rect.width) && y >= rect.y && y < (rect.y + rect.height);},isKeyDigit : function(keyCode){return (0x30 <= keyCode && keyCode <= 0x39);},isKeyNavigation : function(keyCode){return (Sys.UI.Key.left <= keyCode && keyCode <= Sys.UI.Key.down);},padLeft : function(text,size,ch,truncate){return $common._pad(text,size || 2,ch || ' ','l',truncate || false);},padRight : function(text,size,ch,truncate){return $common._pad(text,size || 2,ch || ' ','r',truncate || false);},_pad : function(text,size,ch,side,truncate){text = text.toString();var length = text.length;var builder = new Sys.StringBuilder();if (side == 'r'){builder.append(text);}
while (length < size){builder.append(ch);length++;}
if (side == 'l'){builder.append(text);}
var result = builder.toString();if (truncate && result.length > size){if (side == 'l'){result = result.substr(result.length - size,size);} else{result = result.substr(0,size);}
}
return result;},__DOMEvents :{focusin :{eventGroup : "UIEvents",init : function(e,p){e.initUIEvent("focusin",true,false,window,1);} },focusout :{eventGroup : "UIEvents",init : function(e,p){e.initUIEvent("focusout",true,false,window,1);} },activate :{eventGroup : "UIEvents",init : function(e,p){e.initUIEvent("activate",true,true,window,1);} },focus :{eventGroup : "UIEvents",init : function(e,p){e.initUIEvent("focus",false,false,window,1);} },blur :{eventGroup : "UIEvents",init : function(e,p){e.initUIEvent("blur",false,false,window,1);} },click :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("click",true,true,window,1,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },dblclick :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("click",true,true,window,2,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },mousedown :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("mousedown",true,true,window,1,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },mouseup :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("mouseup",true,true,window,1,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },mouseover :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("mouseover",true,true,window,1,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },mousemove :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("mousemove",true,true,window,1,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },mouseout :{eventGroup : "MouseEvents",init : function(e,p){e.initMouseEvent("mousemove",true,true,window,1,p.screenX || 0,p.screenY || 0,p.clientX || 0,p.clientY || 0,p.ctrlKey || false,p.altKey || false,p.shiftKey || false,p.metaKey || false,p.button || 0,p.relatedTarget || null);} },load :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("load",false,false);} },unload :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("unload",false,false);} },select :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("select",true,false);} },change :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("change",true,false);} },submit :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("submit",true,true);} },reset :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("reset",true,false);} },resize :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("resize",true,false);} },scroll :{eventGroup : "HTMLEvents",init : function(e,p){e.initEvent("scroll",true,false);} }
},tryFireRawEvent : function(element,rawEvent){try{if (element.fireEvent){element.fireEvent("on" + rawEvent.type,rawEvent);return true;} else if (element.dispatchEvent){element.dispatchEvent(rawEvent);return true;}
} catch (e){}
return false;},tryFireEvent : function(element,eventName,properties){try{if (document.createEventObject){var e = document.createEventObject();$common.applyProperties(e,properties ||{});element.fireEvent("on" + eventName,e);return true;} else if (document.createEvent){var def = $common.__DOMEvents[eventName];if (def){var e = document.createEvent(def.eventGroup);def.init(e,properties ||{});element.dispatchEvent(e);return true;}
}
} catch (e){}
return false;},wrapElement : function(innerElement,newOuterElement,newInnerParentElement){var parent = innerElement.parentNode;parent.replaceChild(newOuterElement,innerElement);(newInnerParentElement || newOuterElement).appendChild(innerElement);},unwrapElement : function(innerElement,oldOuterElement){var parent = oldOuterElement.parentNode;if (parent != null){$common.removeElement(innerElement);parent.replaceChild(innerElement,oldOuterElement);}
},removeElement : function(element){var parent = element.parentNode;if (parent != null){parent.removeChild(element);}
},applyProperties : function(target,properties){for (var p in properties){var pv = properties[p];if (pv != null && Object.getType(pv)===Object){var tv = target[p];$common.applyProperties(tv,pv);} else{target[p] = pv;}
}
},createElementFromTemplate : function(template,appendToParent,nameTable){if (typeof(template.nameTable)!='undefined'){var newNameTable = template.nameTable;if (String.isInstanceOfType(newNameTable)){newNameTable = nameTable[newNameTable];}
if (newNameTable != null){nameTable = newNameTable;}
}
var elementName = null;if (typeof(template.name)!=='undefined'){elementName = template.name;}
var elt = document.createElement(template.nodeName);if (typeof(template.name)!=='undefined' && nameTable){nameTable[template.name] = elt;}
if (typeof(template.parent)!=='undefined' && appendToParent == null){var newParent = template.parent;if (String.isInstanceOfType(newParent)){newParent = nameTable[newParent];}
if (newParent != null){appendToParent = newParent;}
}
if (typeof(template.properties)!=='undefined' && template.properties != null){$common.applyProperties(elt,template.properties);}
if (typeof(template.cssClasses)!=='undefined' && template.cssClasses != null){$common.addCssClasses(elt,template.cssClasses);}
if (typeof(template.events)!=='undefined' && template.events != null){$addHandlers(elt,template.events);}
if (typeof(template.visible)!=='undefined' && template.visible != null){this.setVisible(elt,template.visible);}
if (appendToParent){appendToParent.appendChild(elt);}
if (typeof(template.opacity)!=='undefined' && template.opacity != null){$common.setElementOpacity(elt,template.opacity);}
if (typeof(template.children)!=='undefined' && template.children != null){for (var i = 0;i < template.children.length;i++){var subtemplate = template.children[i];$common.createElementFromTemplate(subtemplate,elt,nameTable);}
}
var contentPresenter = elt;if (typeof(template.contentPresenter)!=='undefined' && template.contentPresenter != null){contentPresenter = nameTable[contentPresenter];}
if (typeof(template.content)!=='undefined' && template.content != null){var content = template.content;if (String.isInstanceOfType(content)){content = nameTable[content];}
if (content.parentNode){$common.wrapElement(content,elt,contentPresenter);} else{contentPresenter.appendChild(content);}
}
return elt;},prepareHiddenElementForATDeviceUpdate : function (){var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts');if (!objHidden){var objHidden = document.createElement('input');objHidden.setAttribute('type','hidden');objHidden.setAttribute('value','1');objHidden.setAttribute('id','hiddenInputToUpdateATBuffer_CommonToolkitScripts');objHidden.setAttribute('name','hiddenInputToUpdateATBuffer_CommonToolkitScripts');if ( document.forms[0] ){document.forms[0].appendChild(objHidden);}
}
},updateFormToRefreshATDeviceBuffer : function (){var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts');if (objHidden){if (objHidden.getAttribute('value') == '1'){objHidden.setAttribute('value','0');} else{objHidden.setAttribute('value','1');}
}
}
}
var CommonToolkitScripts = AjaxControlToolkit.CommonToolkitScripts = new AjaxControlToolkit._CommonToolkitScripts();var $common = CommonToolkitScripts;Sys.UI.DomElement.getVisible = $common.getVisible;Sys.UI.DomElement.setVisible = $common.setVisible;Sys.UI.Control.overlaps = $common.overlaps;AjaxControlToolkit._DomUtility = function(){}
AjaxControlToolkit._DomUtility.prototype ={isDescendant : function(ancestor,descendant){for (var n = descendant.parentNode;n != null;n = n.parentNode){if (n == ancestor) return true;}
return false;},isDescendantOrSelf : function(ancestor,descendant){if (ancestor === descendant)
return true;return AjaxControlToolkit.DomUtility.isDescendant(ancestor,descendant);},isAncestor : function(descendant,ancestor){return AjaxControlToolkit.DomUtility.isDescendant(ancestor,descendant);},isAncestorOrSelf : function(descendant,ancestor){if (descendant === ancestor)
return true;return AjaxControlToolkit.DomUtility.isDescendant(ancestor,descendant);},isSibling : function(self,sibling){var parent = self.parentNode;for (var i = 0;i < parent.childNodes.length;i++){if (parent.childNodes[i] == sibling) return true;}
return false;}
}
AjaxControlToolkit._DomUtility.registerClass("AjaxControlToolkit._DomUtility");AjaxControlToolkit.DomUtility = new AjaxControlToolkit._DomUtility();AjaxControlToolkit.TextBoxWrapper = function(element){AjaxControlToolkit.TextBoxWrapper.initializeBase(this,[element]);this._current = element.value;this._watermark = null;this._isWatermarked = false;}
AjaxControlToolkit.TextBoxWrapper.prototype ={dispose : function(){this.get_element().AjaxControlToolkitTextBoxWrapper = null;AjaxControlToolkit.TextBoxWrapper.callBaseMethod(this,'dispose');},get_Current : function(){this._current = this.get_element().value;return this._current;},set_Current : function(value){this._current = value;this._updateElement();},get_Value : function(){if (this.get_IsWatermarked()){return "";} else{return this.get_Current();}
},set_Value : function(text){this.set_Current(text);if (!text || (0 == text.length)){if (null != this._watermark){this.set_IsWatermarked(true);}
} else{this.set_IsWatermarked(false);}
},get_Watermark : function(){return this._watermark;},set_Watermark : function(value){this._watermark = value;this._updateElement();},get_IsWatermarked : function(){return this._isWatermarked;},set_IsWatermarked : function(isWatermarked){if (this._isWatermarked != isWatermarked){this._isWatermarked = isWatermarked;this._updateElement();this._raiseWatermarkChanged();}
},_updateElement : function(){var element = this.get_element();if (this._isWatermarked){if (element.value != this._watermark){element.value = this._watermark;}
} else{if (element.value != this._current){element.value = this._current;}
}
},add_WatermarkChanged : function(handler){this.get_events().addHandler("WatermarkChanged",handler);},remove_WatermarkChanged : function(handler){this.get_events().removeHandler("WatermarkChanged",handler);},_raiseWatermarkChanged : function(){var onWatermarkChangedHandler = this.get_events().getHandler("WatermarkChanged");if (onWatermarkChangedHandler){onWatermarkChangedHandler(this,Sys.EventArgs.Empty);}
}
}
AjaxControlToolkit.TextBoxWrapper.get_Wrapper = function(element){if (null == element.AjaxControlToolkitTextBoxWrapper){element.AjaxControlToolkitTextBoxWrapper = new AjaxControlToolkit.TextBoxWrapper(element);}
return element.AjaxControlToolkitTextBoxWrapper;}
AjaxControlToolkit.TextBoxWrapper.registerClass('AjaxControlToolkit.TextBoxWrapper',Sys.UI.Behavior);AjaxControlToolkit.TextBoxWrapper.validatorGetValue = function(id){var control = $get(id);if (control && control.AjaxControlToolkitTextBoxWrapper){return control.AjaxControlToolkitTextBoxWrapper.get_Value();}
return AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue(id);}
if (typeof(ValidatorGetValue) == 'function'){AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue = ValidatorGetValue;ValidatorGetValue = AjaxControlToolkit.TextBoxWrapper.validatorGetValue;}
if (Sys.CultureInfo.prototype._getAbbrMonthIndex){try{Sys.CultureInfo.prototype._getAbbrMonthIndex('');} catch(ex){Sys.CultureInfo.prototype._getAbbrMonthIndex = function(value){if (!this._upperAbbrMonths){this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);}
return Array.indexOf(this._upperAbbrMonths,this._toUpper(value));}
Sys.CultureInfo.CurrentCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;Sys.CultureInfo.InvariantCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;}
}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();Sys.Timer = function(){Sys.Timer.initializeBase(this);this._interval = 1000;this._enabled = false;this._timer = null;}
Sys.Timer.prototype ={get_interval: function(){return this._interval;},set_interval: function(value){if (this._interval !== value){this._interval = value;this.raisePropertyChanged('interval');if (!this.get_isUpdating() && (this._timer !== null)){this._stopTimer();this._startTimer();}
}
},get_enabled: function(){return this._enabled;},set_enabled: function(value){if (value !== this.get_enabled()){this._enabled = value;this.raisePropertyChanged('enabled');if (!this.get_isUpdating()){if (value){this._startTimer();}
else{this._stopTimer();}
}
}
},add_tick: function(handler){this.get_events().addHandler("tick",handler);},remove_tick: function(handler){this.get_events().removeHandler("tick",handler);},dispose: function(){this.set_enabled(false);this._stopTimer();Sys.Timer.callBaseMethod(this,'dispose');},updated: function(){Sys.Timer.callBaseMethod(this,'updated');if (this._enabled){this._stopTimer();this._startTimer();}
},_timerCallback: function(){var handler = this.get_events().getHandler("tick");if (handler){handler(this,Sys.EventArgs.Empty);}
},_startTimer: function(){this._timer = window.setInterval(Function.createDelegate(this,this._timerCallback),this._interval);},_stopTimer: function(){window.clearInterval(this._timer);this._timer = null;}
}
Sys.Timer.descriptor ={properties: [{name: 'interval',type: Number},{name: 'enabled',type: Boolean} ],events: [{name: 'tick'} ]
}
Sys.Timer.registerClass('Sys.Timer',Sys.Component);if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();Type.registerNamespace('AjaxControlToolkit.Animation');var $AA = AjaxControlToolkit.Animation;$AA.registerAnimation = function(name,type){if (type && ((type === $AA.Animation) || (type.inheritsFrom && type.inheritsFrom($AA.Animation)))){if (!$AA.__animations){$AA.__animations ={};}
$AA.__animations[name.toLowerCase()] = type;type.play = function(){var animation = new type();type.apply(animation,arguments);animation.initialize();var handler = Function.createDelegate(animation,function(){animation.remove_ended(handler);handler = null;animation.dispose();});animation.add_ended(handler);animation.play();}
} else{throw Error.argumentType('type',type,$AA.Animation,AjaxControlToolkit.Resources.Animation_InvalidBaseType);}
}
$AA.buildAnimation = function(json,defaultTarget){if (!json || json === ''){return null;}
var obj;json = '(' + json + ')';if (! Sys.Debug.isDebug){try{obj = Sys.Serialization.JavaScriptSerializer.deserialize(json);} catch (ex){}
} else{obj = Sys.Serialization.JavaScriptSerializer.deserialize(json);}
return $AA.createAnimation(obj,defaultTarget);}
$AA.createAnimation = function(obj,defaultTarget){if (!obj || !obj.AnimationName){throw Error.argument('obj',AjaxControlToolkit.Resources.Animation_MissingAnimationName);}
var type = $AA.__animations[obj.AnimationName.toLowerCase()];if (!type){throw Error.argument('type',String.format(AjaxControlToolkit.Resources.Animation_UknownAnimationName,obj.AnimationName));}
var animation = new type();if (defaultTarget){animation.set_target(defaultTarget);}
if (obj.AnimationChildren && obj.AnimationChildren.length){if ($AA.ParentAnimation.isInstanceOfType(animation)){for (var i = 0;i < obj.AnimationChildren.length;i++){var child = $AA.createAnimation(obj.AnimationChildren[i]);if (child){animation.add(child);}
}
} else{throw Error.argument('obj',String.format(AjaxControlToolkit.Resources.Animation_ChildrenNotAllowed,type.getName()));}
}
var properties = type.__animationProperties;if (!properties){type.__animationProperties ={};type.resolveInheritance();for (var name in type.prototype){if (name.startsWith('set_')){type.__animationProperties[name.substr(4).toLowerCase()] = name;}
}
delete type.__animationProperties['id'];properties = type.__animationProperties;}
for (var property in obj){var prop = property.toLowerCase();if (prop == 'animationname' || prop == 'animationchildren'){continue;}
var value = obj[property];var setter = properties[prop];if (setter && String.isInstanceOfType(setter) && animation[setter]){if (! Sys.Debug.isDebug){try{animation[setter](value);} catch (ex){}
} else{animation[setter](value);}
} else{if (prop.endsWith('script')){setter = properties[prop.substr(0,property.length - 6)];if (setter && String.isInstanceOfType(setter) && animation[setter]){animation.DynamicProperties[setter] = value;} else if ( Sys.Debug.isDebug){throw Error.argument('obj',String.format(AjaxControlToolkit.Resources.Animation_NoDynamicPropertyFound,property,property.substr(0,property.length - 5)));}
} else if ( Sys.Debug.isDebug){throw Error.argument('obj',String.format(AjaxControlToolkit.Resources.Animation_NoPropertyFound,property));}
}
}
return animation;}
$AA.Animation = function(target,duration,fps){$AA.Animation.initializeBase(this);this._duration = 1;this._fps = 25;this._target = null;this._tickHandler = null;this._timer = null;this._percentComplete = 0;this._percentDelta = null;this._owner = null;this._parentAnimation = null;this.DynamicProperties ={};if (target){this.set_target(target);}
if (duration){this.set_duration(duration);}
if (fps){this.set_fps(fps);}
}
$AA.Animation.prototype ={dispose : function(){if (this._timer){this._timer.dispose();this._timer = null;}
this._tickHandler = null;this._target = null;$AA.Animation.callBaseMethod(this,'dispose');},play : function(){if (!this._owner){var resume = true;if (!this._timer){resume = false;if (!this._tickHandler){this._tickHandler = Function.createDelegate(this,this._onTimerTick);}
this._timer = new Sys.Timer();this._timer.add_tick(this._tickHandler);this.onStart();this._timer.set_interval(1000 / this._fps);this._percentDelta = 100 / (this._duration * this._fps);this._updatePercentComplete(0,true);}
this._timer.set_enabled(true);this.raisePropertyChanged('isPlaying');if (!resume){this.raisePropertyChanged('isActive');}
}
},pause : function(){if (!this._owner){if (this._timer){this._timer.set_enabled(false);this.raisePropertyChanged('isPlaying');}
}
},stop : function(finish){if (!this._owner){var t = this._timer;this._timer = null;if (t){t.dispose();if (this._percentComplete !== 100){this._percentComplete = 100;this.raisePropertyChanged('percentComplete');if (finish || finish === undefined){this.onStep(100);}
}
this.onEnd();this.raisePropertyChanged('isPlaying');this.raisePropertyChanged('isActive');}
}
},onStart : function(){this.raiseStarted();for (var property in this.DynamicProperties){try{this[property](eval(this.DynamicProperties[property]));} catch(ex){if ( Sys.Debug.isDebug){throw ex;}
}
}
},onStep : function(percentage){this.setValue(this.getAnimatedValue(percentage));},onEnd : function(){this.raiseEnded();},getAnimatedValue : function(percentage){throw Error.notImplemented();},setValue : function(value){throw Error.notImplemented();},interpolate : function(start,end,percentage){return start + (end - start) * (percentage / 100);},_onTimerTick : function(){this._updatePercentComplete(this._percentComplete + this._percentDelta,true);},_updatePercentComplete : function(percentComplete,animate){if (percentComplete > 100){percentComplete = 100;}
this._percentComplete = percentComplete;this.raisePropertyChanged('percentComplete');if (animate){this.onStep(percentComplete);}
if (percentComplete === 100){this.stop(false);}
},setOwner : function(owner){this._owner = owner;},raiseStarted : function(){var handlers = this.get_events().getHandler('started');if (handlers){handlers(this,Sys.EventArgs.Empty);}
},add_started : function(handler){this.get_events().addHandler("started",handler);},remove_started : function(handler){this.get_events().removeHandler("started",handler);},raiseEnded : function(){var handlers = this.get_events().getHandler('ended');if (handlers){handlers(this,Sys.EventArgs.Empty);}
},add_ended : function(handler){this.get_events().addHandler("ended",handler);},remove_ended : function(handler){this.get_events().removeHandler("ended",handler);},get_target : function(){if (!this._target && this._parentAnimation){return this._parentAnimation.get_target();}
return this._target;},set_target : function(value){if (this._target != value){this._target = value;this.raisePropertyChanged('target');}
},set_animationTarget : function(id){var target = null;var element = $get(id);if (element){target = element;} else{var ctrl = $find(id);if (ctrl){element = ctrl.get_element();if (element){target = element;}
}
}
if (target){this.set_target(target);} else{throw Error.argument('id',String.format(AjaxControlToolkit.Resources.Animation_TargetNotFound,id));}
},get_duration : function(){return this._duration;},set_duration : function(value){value = this._getFloat(value);if (this._duration != value){this._duration = value;this.raisePropertyChanged('duration');}
},get_fps : function(){return this._fps;},set_fps : function(value){value = this._getInteger(value);if (this.fps != value){this._fps = value;this.raisePropertyChanged('fps');}
},get_isActive : function(){return (this._timer !== null);},get_isPlaying : function(){return (this._timer !== null) && this._timer.get_enabled();},get_percentComplete : function(){return this._percentComplete;},_getBoolean : function(value){if (String.isInstanceOfType(value)){return Boolean.parse(value);}
return value;},_getInteger : function(value){if (String.isInstanceOfType(value)){return parseInt(value);}
return value;},_getFloat : function(value){if (String.isInstanceOfType(value)){return parseFloat(value);}
return value;},_getEnum : function(value,type){if (String.isInstanceOfType(value) && type && type.parse){return type.parse(value);}
return value;}
}
$AA.Animation.registerClass('AjaxControlToolkit.Animation.Animation',Sys.Component);$AA.registerAnimation('animation',$AA.Animation);$AA.ParentAnimation = function(target,duration,fps,animations){$AA.ParentAnimation.initializeBase(this,[target,duration,fps]);this._animations = [];if (animations && animations.length){for (var i = 0;i < animations.length;i++){this.add(animations[i]);}
}
}
$AA.ParentAnimation.prototype ={initialize : function(){$AA.ParentAnimation.callBaseMethod(this,'initialize');if (this._animations){for (var i = 0;i < this._animations.length;i++){var animation = this._animations[i];if (animation && !animation.get_isInitialized){animation.initialize();}
}
}
},dispose : function(){this.clear();this._animations = null;$AA.ParentAnimation.callBaseMethod(this,'dispose');},get_animations : function(){return this._animations;},add : function(animation){if (this._animations){if (animation){animation._parentAnimation = this;}
Array.add(this._animations,animation);this.raisePropertyChanged('animations');}
},remove : function(animation){if (this._animations){if (animation){animation.dispose();}
Array.remove(this._animations,animation);this.raisePropertyChanged('animations');}
},removeAt : function(index){if (this._animations){var animation = this._animations[index];if (animation){animation.dispose();}
Array.removeAt(this._animations,index);this.raisePropertyChanged('animations');}
},clear : function(){if (this._animations){for (var i = this._animations.length - 1;i >= 0;i--){this._animations[i].dispose();this._animations[i] = null;}
Array.clear(this._animations);this._animations = [];this.raisePropertyChanged('animations');}
}
}
$AA.ParentAnimation.registerClass('AjaxControlToolkit.Animation.ParentAnimation',$AA.Animation);$AA.registerAnimation('parent',$AA.ParentAnimation);$AA.ParallelAnimation = function(target,duration,fps,animations){$AA.ParallelAnimation.initializeBase(this,[target,duration,fps,animations]);}
$AA.ParallelAnimation.prototype ={add : function(animation){$AA.ParallelAnimation.callBaseMethod(this,'add',[animation]);animation.setOwner(this);},onStart : function(){$AA.ParallelAnimation.callBaseMethod(this,'onStart');var animations = this.get_animations();for (var i = 0;i < animations.length;i++){animations[i].onStart();}
},onStep : function(percentage){var animations = this.get_animations();for (var i = 0;i < animations.length;i++){animations[i].onStep(percentage);}
},onEnd : function(){var animations = this.get_animations();for (var i = 0;i < animations.length;i++){animations[i].onEnd();}
$AA.ParallelAnimation.callBaseMethod(this,'onEnd');}
}
$AA.ParallelAnimation.registerClass('AjaxControlToolkit.Animation.ParallelAnimation',$AA.ParentAnimation);$AA.registerAnimation('parallel',$AA.ParallelAnimation);$AA.SequenceAnimation = function(target,duration,fps,animations,iterations){$AA.SequenceAnimation.initializeBase(this,[target,duration,fps,animations]);this._handler = null;this._paused = false;this._playing = false;this._index = 0;this._remainingIterations = 0;this._iterations = (iterations !== undefined) ? iterations : 1;}
$AA.SequenceAnimation.prototype ={dispose : function(){this._handler = null;$AA.SequenceAnimation.callBaseMethod(this,'dispose');},stop : function(){if (this._playing){var animations = this.get_animations();if (this._index < animations.length){animations[this._index].remove_ended(this._handler);for (var i = this._index;i < animations.length;i++){animations[i].stop();}
}
this._playing = false;this._paused = false;this.raisePropertyChanged('isPlaying');this.onEnd();}
},pause : function(){if (this.get_isPlaying()){var current = this.get_animations()[this._index];if (current != null){current.pause();}
this._paused = true;this.raisePropertyChanged('isPlaying');}
},play : function(){var animations = this.get_animations();if (!this._playing){this._playing = true;if (this._paused){this._paused = false;var current = animations[this._index];if (current != null){current.play();this.raisePropertyChanged('isPlaying');}
} else{this.onStart();this._index = 0;var first = animations[this._index];if (first){first.add_ended(this._handler);first.play();this.raisePropertyChanged('isPlaying');} else{this.stop();}
}
}
},onStart : function(){$AA.SequenceAnimation.callBaseMethod(this,'onStart');this._remainingIterations = this._iterations - 1;if (!this._handler){this._handler = Function.createDelegate(this,this._onEndAnimation);}
},_onEndAnimation : function(){var animations = this.get_animations();var current = animations[this._index++];if (current){current.remove_ended(this._handler);}
if (this._index < animations.length){var next = animations[this._index];next.add_ended(this._handler);next.play();} else if (this._remainingIterations >= 1 || this._iterations <= 0){this._remainingIterations--;this._index = 0;var first = animations[0];first.add_ended(this._handler);first.play();} else{this.stop();}
},onStep : function(percentage){throw Error.invalidOperation(AjaxControlToolkit.Resources.Animation_CannotNestSequence);},onEnd : function(){this._remainingIterations = 0;$AA.SequenceAnimation.callBaseMethod(this,'onEnd');},get_isActive : function(){return true;},get_isPlaying : function(){return this._playing && !this._paused;},get_iterations : function(){return this._iterations;},set_iterations : function(value){value = this._getInteger(value);if (this._iterations != value){this._iterations = value;this.raisePropertyChanged('iterations');}
},get_isInfinite : function(){return this._iterations <= 0;}
}
$AA.SequenceAnimation.registerClass('AjaxControlToolkit.Animation.SequenceAnimation',$AA.ParentAnimation);$AA.registerAnimation('sequence',$AA.SequenceAnimation);$AA.SelectionAnimation = function(target,duration,fps,animations){$AA.SelectionAnimation.initializeBase(this,[target,duration,fps,animations]);this._selectedIndex = -1;this._selected = null;}
$AA.SelectionAnimation.prototype ={getSelectedIndex : function(){throw Error.notImplemented();},onStart : function(){$AA.SelectionAnimation.callBaseMethod(this,'onStart');var animations = this.get_animations();this._selectedIndex = this.getSelectedIndex();if (this._selectedIndex >= 0 && this._selectedIndex < animations.length){this._selected = animations[this._selectedIndex];if (this._selected){this._selected.setOwner(this);this._selected.onStart();}
}
},onStep : function(percentage){if (this._selected){this._selected.onStep(percentage);}
},onEnd : function(){if (this._selected){this._selected.onEnd();this._selected.setOwner(null);}
this._selected = null;this._selectedIndex = null;$AA.SelectionAnimation.callBaseMethod(this,'onEnd');}
}
$AA.SelectionAnimation.registerClass('AjaxControlToolkit.Animation.SelectionAnimation',$AA.ParentAnimation);$AA.registerAnimation('selection',$AA.SelectionAnimation);$AA.ConditionAnimation = function(target,duration,fps,animations,conditionScript){$AA.ConditionAnimation.initializeBase(this,[target,duration,fps,animations]);this._conditionScript = conditionScript;}
$AA.ConditionAnimation.prototype ={getSelectedIndex : function(){var selected = -1;if (this._conditionScript && this._conditionScript.length > 0){try{selected = eval(this._conditionScript) ? 0 : 1;} catch(ex){}
}
return selected;},get_conditionScript : function(){return this._conditionScript;},set_conditionScript : function(value){if (this._conditionScript != value){this._conditionScript = value;this.raisePropertyChanged('conditionScript');}
}
}
$AA.ConditionAnimation.registerClass('AjaxControlToolkit.Animation.ConditionAnimation',$AA.SelectionAnimation);$AA.registerAnimation('condition',$AA.ConditionAnimation);$AA.CaseAnimation = function(target,duration,fps,animations,selectScript){$AA.CaseAnimation.initializeBase(this,[target,duration,fps,animations]);this._selectScript = selectScript;}
$AA.CaseAnimation.prototype ={getSelectedIndex : function(){var selected = -1;if (this._selectScript && this._selectScript.length > 0){try{var result = eval(this._selectScript)
if (result !== undefined)
selected = result;} catch (ex){}
}
return selected;},get_selectScript : function(){return this._selectScript;},set_selectScript : function(value){if (this._selectScript != value){this._selectScript = value;this.raisePropertyChanged('selectScript');}
}
}
$AA.CaseAnimation.registerClass('AjaxControlToolkit.Animation.CaseAnimation',$AA.SelectionAnimation);$AA.registerAnimation('case',$AA.CaseAnimation);$AA.FadeEffect = function(){throw Error.invalidOperation();}
$AA.FadeEffect.prototype ={FadeIn : 0,FadeOut : 1
}
$AA.FadeEffect.registerEnum("AjaxControlToolkit.Animation.FadeEffect",false);$AA.FadeAnimation = function(target,duration,fps,effect,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.FadeAnimation.initializeBase(this,[target,duration,fps]);this._effect = (effect !== undefined) ? effect : $AA.FadeEffect.FadeIn;this._max = (maximumOpacity !== undefined) ? maximumOpacity : 1;this._min = (minimumOpacity !== undefined) ? minimumOpacity : 0;this._start = this._min;this._end = this._max;this._layoutCreated = false;this._forceLayoutInIE = (forceLayoutInIE === undefined || forceLayoutInIE === null) ? true : forceLayoutInIE;this._currentTarget = null;this._resetOpacities();}
$AA.FadeAnimation.prototype ={_resetOpacities : function(){if (this._effect == $AA.FadeEffect.FadeIn){this._start = this._min;this._end = this._max;} else{this._start = this._max;this._end = this._min;}
},_createLayout : function(){var element = this._currentTarget;if (element){var originalWidth = $common.getCurrentStyle(element,'width');var originalHeight = $common.getCurrentStyle(element,'height');var originalBackColor = $common.getCurrentStyle(element,'backgroundColor');if ((!originalWidth || originalWidth == '' || originalWidth == 'auto') &&
(!originalHeight || originalHeight == '' || originalHeight == 'auto')){element.style.width = element.offsetWidth + 'px';}
if (!originalBackColor || originalBackColor == '' || originalBackColor == 'transparent' || originalBackColor == 'rgba(0,0,0,0)'){element.style.backgroundColor = $common.getInheritedBackgroundColor(element);}
this._layoutCreated = true;}
},onStart : function(){$AA.FadeAnimation.callBaseMethod(this,'onStart');this._currentTarget = this.get_target();this.setValue(this._start);if (this._forceLayoutInIE && !this._layoutCreated && Sys.Browser.agent == Sys.Browser.InternetExplorer){this._createLayout();}
},getAnimatedValue : function(percentage){return this.interpolate(this._start,this._end,percentage);},setValue : function(value){if (this._currentTarget){$common.setElementOpacity(this._currentTarget,value);}
},get_effect : function(){return this._effect;},set_effect : function(value){value = this._getEnum(value,$AA.FadeEffect);if (this._effect != value){this._effect = value;this._resetOpacities();this.raisePropertyChanged('effect');}
},get_minimumOpacity : function(){return this._min;},set_minimumOpacity : function(value){value = this._getFloat(value);if (this._min != value){this._min = value;this._resetOpacities();this.raisePropertyChanged('minimumOpacity');}
},get_maximumOpacity : function(){return this._max;},set_maximumOpacity : function(value){value = this._getFloat(value);if (this._max != value){this._max = value;this._resetOpacities();this.raisePropertyChanged('maximumOpacity');}
},get_forceLayoutInIE : function(){return this._forceLayoutInIE;},set_forceLayoutInIE : function(value){value = this._getBoolean(value);if (this._forceLayoutInIE != value){this._forceLayoutInIE = value;this.raisePropertyChanged('forceLayoutInIE');}
},set_startValue : function(value){value = this._getFloat(value);this._start = value;}
}
$AA.FadeAnimation.registerClass('AjaxControlToolkit.Animation.FadeAnimation',$AA.Animation);$AA.registerAnimation('fade',$AA.FadeAnimation);$AA.FadeInAnimation = function(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.FadeInAnimation.initializeBase(this,[target,duration,fps,$AA.FadeEffect.FadeIn,minimumOpacity,maximumOpacity,forceLayoutInIE]);}
$AA.FadeInAnimation.prototype ={onStart : function(){$AA.FadeInAnimation.callBaseMethod(this,'onStart');if (this._currentTarget){this.set_startValue($common.getElementOpacity(this._currentTarget));}
}
}
$AA.FadeInAnimation.registerClass('AjaxControlToolkit.Animation.FadeInAnimation',$AA.FadeAnimation);$AA.registerAnimation('fadeIn',$AA.FadeInAnimation);$AA.FadeOutAnimation = function(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.FadeOutAnimation.initializeBase(this,[target,duration,fps,$AA.FadeEffect.FadeOut,minimumOpacity,maximumOpacity,forceLayoutInIE]);}
$AA.FadeOutAnimation.prototype ={onStart : function(){$AA.FadeOutAnimation.callBaseMethod(this,'onStart');if (this._currentTarget){this.set_startValue($common.getElementOpacity(this._currentTarget));}
}
}
$AA.FadeOutAnimation.registerClass('AjaxControlToolkit.Animation.FadeOutAnimation',$AA.FadeAnimation);$AA.registerAnimation('fadeOut',$AA.FadeOutAnimation);$AA.PulseAnimation = function(target,duration,fps,iterations,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.PulseAnimation.initializeBase(this,[target,duration,fps,null,((iterations !== undefined) ? iterations : 3)]);this._out = new $AA.FadeOutAnimation(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE);this.add(this._out);this._in = new $AA.FadeInAnimation(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE);this.add(this._in);}
$AA.PulseAnimation.prototype ={get_minimumOpacity : function(){return this._out.get_minimumOpacity();},set_minimumOpacity : function(value){value = this._getFloat(value);this._out.set_minimumOpacity(value);this._in.set_minimumOpacity(value);this.raisePropertyChanged('minimumOpacity');},get_maximumOpacity : function(){return this._out.get_maximumOpacity();},set_maximumOpacity : function(value){value = this._getFloat(value);this._out.set_maximumOpacity(value);this._in.set_maximumOpacity(value);this.raisePropertyChanged('maximumOpacity');},get_forceLayoutInIE : function(){return this._out.get_forceLayoutInIE();},set_forceLayoutInIE : function(value){value = this._getBoolean(value);this._out.set_forceLayoutInIE(value);this._in.set_forceLayoutInIE(value);this.raisePropertyChanged('forceLayoutInIE');},set_duration : function(value){value = this._getFloat(value);$AA.PulseAnimation.callBaseMethod(this,'set_duration',[value]);this._in.set_duration(value);this._out.set_duration(value);},set_fps : function(value){value = this._getInteger(value);$AA.PulseAnimation.callBaseMethod(this,'set_fps',[value]);this._in.set_fps(value);this._out.set_fps(value);}
}
$AA.PulseAnimation.registerClass('AjaxControlToolkit.Animation.PulseAnimation',$AA.SequenceAnimation);$AA.registerAnimation('pulse',$AA.PulseAnimation);$AA.PropertyAnimation = function(target,duration,fps,property,propertyKey){$AA.PropertyAnimation.initializeBase(this,[target,duration,fps]);this._property = property;this._propertyKey = propertyKey;this._currentTarget = null;}
$AA.PropertyAnimation.prototype ={onStart : function(){$AA.PropertyAnimation.callBaseMethod(this,'onStart');this._currentTarget = this.get_target();},setValue : function(value){var element = this._currentTarget;if (element && this._property && this._property.length > 0){if (this._propertyKey && this._propertyKey.length > 0 && element[this._property]){element[this._property][this._propertyKey] = value;} else{element[this._property] = value;}
}
},getValue : function(){var element = this.get_target();if (element && this._property && this._property.length > 0){var property = element[this._property];if (property){if (this._propertyKey && this._propertyKey.length > 0){return property[this._propertyKey];}
return property;}
}
return null;},get_property : function(){return this._property;},set_property : function(value){if (this._property != value){this._property = value;this.raisePropertyChanged('property');}
},get_propertyKey : function(){return this._propertyKey;},set_propertyKey : function(value){if (this._propertyKey != value){this._propertyKey = value;this.raisePropertyChanged('propertyKey');}
}
}
$AA.PropertyAnimation.registerClass('AjaxControlToolkit.Animation.PropertyAnimation',$AA.Animation);$AA.registerAnimation('property',$AA.PropertyAnimation);$AA.DiscreteAnimation = function(target,duration,fps,property,propertyKey,values){$AA.DiscreteAnimation.initializeBase(this,[target,duration,fps,property,propertyKey]);this._values = (values && values.length) ? values : [];}
$AA.DiscreteAnimation.prototype ={getAnimatedValue : function(percentage){var index = Math.floor(this.interpolate(0,this._values.length - 1,percentage));return this._values[index];},get_values : function(){return this._values;},set_values : function(value){if (this._values != value){this._values = value;this.raisePropertyChanged('values');}
}
}
$AA.DiscreteAnimation.registerClass('AjaxControlToolkit.Animation.DiscreteAnimation',$AA.PropertyAnimation);$AA.registerAnimation('discrete',$AA.DiscreteAnimation);$AA.InterpolatedAnimation = function(target,duration,fps,property,propertyKey,startValue,endValue){$AA.InterpolatedAnimation.initializeBase(this,[target,duration,fps,((property !== undefined) ? property : 'style'),propertyKey]);this._startValue = startValue;this._endValue = endValue;}
$AA.InterpolatedAnimation.prototype ={get_startValue : function(){return this._startValue;},set_startValue : function(value){value = this._getFloat(value);if (this._startValue != value){this._startValue = value;this.raisePropertyChanged('startValue');}
},get_endValue : function(){return this._endValue;},set_endValue : function(value){value = this._getFloat(value);if (this._endValue != value){this._endValue = value;this.raisePropertyChanged('endValue');}
}
}
$AA.InterpolatedAnimation.registerClass('AjaxControlToolkit.Animation.InterpolatedAnimation',$AA.PropertyAnimation);$AA.registerAnimation('interpolated',$AA.InterpolatedAnimation);$AA.ColorAnimation = function(target,duration,fps,property,propertyKey,startValue,endValue){$AA.ColorAnimation.initializeBase(this,[target,duration,fps,property,propertyKey,startValue,endValue]);this._start = null;this._end = null;this._interpolateRed = false;this._interpolateGreen = false;this._interpolateBlue = false;}
$AA.ColorAnimation.prototype ={onStart : function(){$AA.ColorAnimation.callBaseMethod(this,'onStart');this._start = $AA.ColorAnimation.getRGB(this.get_startValue());this._end = $AA.ColorAnimation.getRGB(this.get_endValue());this._interpolateRed = (this._start.Red != this._end.Red);this._interpolateGreen = (this._start.Green != this._end.Green);this._interpolateBlue = (this._start.Blue != this._end.Blue);},getAnimatedValue : function(percentage){var r = this._start.Red;var g = this._start.Green;var b = this._start.Blue;if (this._interpolateRed)
r = Math.round(this.interpolate(r,this._end.Red,percentage));if (this._interpolateGreen)
g = Math.round(this.interpolate(g,this._end.Green,percentage));if (this._interpolateBlue)
b = Math.round(this.interpolate(b,this._end.Blue,percentage));return $AA.ColorAnimation.toColor(r,g,b);},set_startValue : function(value){if (this._startValue != value){this._startValue = value;this.raisePropertyChanged('startValue');}
},set_endValue : function(value){if (this._endValue != value){this._endValue = value;this.raisePropertyChanged('endValue');}
}
}
$AA.ColorAnimation.getRGB = function(color){if (!color || color.length != 7){throw String.format(AjaxControlToolkit.Resources.Animation_InvalidColor,color);}
return{'Red': parseInt(color.substr(1,2),16),'Green': parseInt(color.substr(3,2),16),'Blue': parseInt(color.substr(5,2),16) };}
$AA.ColorAnimation.toColor = function(red,green,blue){var r = red.toString(16);var g = green.toString(16);var b = blue.toString(16);if (r.length == 1) r = '0' + r;if (g.length == 1) g = '0' + g;if (b.length == 1) b = '0' + b;return '#' + r + g + b;}
$AA.ColorAnimation.registerClass('AjaxControlToolkit.Animation.ColorAnimation',$AA.InterpolatedAnimation);$AA.registerAnimation('color',$AA.ColorAnimation);$AA.LengthAnimation = function(target,duration,fps,property,propertyKey,startValue,endValue,unit){$AA.LengthAnimation.initializeBase(this,[target,duration,fps,property,propertyKey,startValue,endValue]);this._unit = (unit != null) ? unit : 'px';}
$AA.LengthAnimation.prototype ={getAnimatedValue : function(percentage){var value = this.interpolate(this.get_startValue(),this.get_endValue(),percentage);return Math.round(value) + this._unit;},get_unit : function(){return this._unit;},set_unit : function(value){if (this._unit != value){this._unit = value;this.raisePropertyChanged('unit');}
}
}
$AA.LengthAnimation.registerClass('AjaxControlToolkit.Animation.LengthAnimation',$AA.InterpolatedAnimation);$AA.registerAnimation('length',$AA.LengthAnimation);$AA.MoveAnimation = function(target,duration,fps,horizontal,vertical,relative,unit){$AA.MoveAnimation.initializeBase(this,[target,duration,fps,null]);this._horizontal = horizontal ? horizontal : 0;this._vertical = vertical ? vertical : 0;this._relative = (relative === undefined) ? true : relative;this._horizontalAnimation = new $AA.LengthAnimation(target,duration,fps,'style','left',null,null,unit);this._verticalAnimation = new $AA.LengthAnimation(target,duration,fps,'style','top',null,null,unit);this.add(this._verticalAnimation);this.add(this._horizontalAnimation);}
$AA.MoveAnimation.prototype ={onStart : function(){$AA.MoveAnimation.callBaseMethod(this,'onStart');var element = this.get_target();this._horizontalAnimation.set_startValue(element.offsetLeft);this._horizontalAnimation.set_endValue(this._relative ? element.offsetLeft + this._horizontal : this._horizontal);this._verticalAnimation.set_startValue(element.offsetTop);this._verticalAnimation.set_endValue(this._relative ? element.offsetTop + this._vertical : this._vertical);},get_horizontal : function(){return this._horizontal;},set_horizontal : function(value){value = this._getFloat(value);if (this._horizontal != value){this._horizontal = value;this.raisePropertyChanged('horizontal');}
},get_vertical : function(){return this._vertical;},set_vertical : function(value){value = this._getFloat(value);if (this._vertical != value){this._vertical = value;this.raisePropertyChanged('vertical');}
},get_relative : function(){return this._relative;},set_relative : function(value){value = this._getBoolean(value);if (this._relative != value){this._relative = value;this.raisePropertyChanged('relative');}
},get_unit : function(){this._horizontalAnimation.get_unit();},set_unit : function(value){var unit = this._horizontalAnimation.get_unit();if (unit != value){this._horizontalAnimation.set_unit(value);this._verticalAnimation.set_unit(value);this.raisePropertyChanged('unit');}
}
}
$AA.MoveAnimation.registerClass('AjaxControlToolkit.Animation.MoveAnimation',$AA.ParallelAnimation);$AA.registerAnimation('move',$AA.MoveAnimation);$AA.ResizeAnimation = function(target,duration,fps,width,height,unit){$AA.ResizeAnimation.initializeBase(this,[target,duration,fps,null]);this._width = width;this._height = height;this._horizontalAnimation = new $AA.LengthAnimation(target,duration,fps,'style','width',null,null,unit);this._verticalAnimation = new $AA.LengthAnimation(target,duration,fps,'style','height',null,null,unit);this.add(this._horizontalAnimation);this.add(this._verticalAnimation);}
$AA.ResizeAnimation.prototype ={onStart : function(){$AA.ResizeAnimation.callBaseMethod(this,'onStart');var element = this.get_target();this._horizontalAnimation.set_startValue(element.offsetWidth);this._verticalAnimation.set_startValue(element.offsetHeight);this._horizontalAnimation.set_endValue((this._width !== null && this._width !== undefined) ?
this._width : element.offsetWidth);this._verticalAnimation.set_endValue((this._height !== null && this._height !== undefined) ?
this._height : element.offsetHeight);},get_width : function(){return this._width;},set_width : function(value){value = this._getFloat(value);if (this._width != value){this._width = value;this.raisePropertyChanged('width');}
},get_height : function(){return this._height;},set_height : function(value){value = this._getFloat(value);if (this._height != value){this._height = value;this.raisePropertyChanged('height');}
},get_unit : function(){this._horizontalAnimation.get_unit();},set_unit : function(value){var unit = this._horizontalAnimation.get_unit();if (unit != value){this._horizontalAnimation.set_unit(value);this._verticalAnimation.set_unit(value);this.raisePropertyChanged('unit');}
}
}
$AA.ResizeAnimation.registerClass('AjaxControlToolkit.Animation.ResizeAnimation',$AA.ParallelAnimation);$AA.registerAnimation('resize',$AA.ResizeAnimation);$AA.ScaleAnimation = function(target,duration,fps,scaleFactor,unit,center,scaleFont,fontUnit){$AA.ScaleAnimation.initializeBase(this,[target,duration,fps]);this._scaleFactor = (scaleFactor !== undefined) ? scaleFactor : 1;this._unit = (unit !== undefined) ? unit : 'px';this._center = center;this._scaleFont = scaleFont;this._fontUnit = (fontUnit !== undefined) ? fontUnit : 'pt';this._element = null;this._initialHeight = null;this._initialWidth = null;this._initialTop = null;this._initialLeft = null;this._initialFontSize = null;}
$AA.ScaleAnimation.prototype ={getAnimatedValue : function(percentage){return this.interpolate(1.0,this._scaleFactor,percentage);},onStart : function(){$AA.ScaleAnimation.callBaseMethod(this,'onStart');this._element = this.get_target();if (this._element){this._initialHeight = this._element.offsetHeight;this._initialWidth = this._element.offsetWidth;if (this._center){this._initialTop = this._element.offsetTop;this._initialLeft = this._element.offsetLeft;}
if (this._scaleFont){this._initialFontSize = parseFloat(
$common.getCurrentStyle(this._element,'fontSize'));}
}
},setValue : function(scale){if (this._element){var width = Math.round(this._initialWidth * scale);var height = Math.round(this._initialHeight * scale);this._element.style.width = width + this._unit;this._element.style.height = height + this._unit;if (this._center){this._element.style.top = (this._initialTop +
Math.round((this._initialHeight - height) / 2)) + this._unit;this._element.style.left = (this._initialLeft +
Math.round((this._initialWidth - width) / 2)) + this._unit;}
if (this._scaleFont){var size = this._initialFontSize * scale;if (this._fontUnit == 'px' || this._fontUnit == 'pt'){size = Math.round(size);}
this._element.style.fontSize = size + this._fontUnit;}
}
},onEnd : function(){this._element = null;this._initialHeight = null;this._initialWidth = null;this._initialTop = null;this._initialLeft = null;this._initialFontSize = null;$AA.ScaleAnimation.callBaseMethod(this,'onEnd');},get_scaleFactor : function(){return this._scaleFactor;},set_scaleFactor : function(value){value = this._getFloat(value);if (this._scaleFactor != value){this._scaleFactor = value;this.raisePropertyChanged('scaleFactor');}
},get_unit : function(){return this._unit;},set_unit : function(value){if (this._unit != value){this._unit = value;this.raisePropertyChanged('unit');}
},get_center : function(){return this._center;},set_center : function(value){value = this._getBoolean(value);if (this._center != value){this._center = value;this.raisePropertyChanged('center');}
},get_scaleFont : function(){return this._scaleFont;},set_scaleFont : function(value){value = this._getBoolean(value);if (this._scaleFont != value){this._scaleFont = value;this.raisePropertyChanged('scaleFont');}
},get_fontUnit : function(){return this._fontUnit;},set_fontUnit : function(value){if (this._fontUnit != value){this._fontUnit = value;this.raisePropertyChanged('fontUnit');}
}
}
$AA.ScaleAnimation.registerClass('AjaxControlToolkit.Animation.ScaleAnimation',$AA.Animation);$AA.registerAnimation('scale',$AA.ScaleAnimation);$AA.Action = function(target,duration,fps){$AA.Action.initializeBase(this,[target,duration,fps]);if (duration === undefined){this.set_duration(0);}
}
$AA.Action.prototype ={onEnd : function(){this.doAction();$AA.Action.callBaseMethod(this,'onEnd');},doAction : function(){throw Error.notImplemented();},getAnimatedValue : function(){},setValue : function(){}
}
$AA.Action.registerClass('AjaxControlToolkit.Animation.Action',$AA.Animation);$AA.registerAnimation('action',$AA.Action);$AA.EnableAction = function(target,duration,fps,enabled){$AA.EnableAction.initializeBase(this,[target,duration,fps]);this._enabled = (enabled !== undefined) ? enabled : true;}
$AA.EnableAction.prototype ={doAction : function(){var element = this.get_target();if (element){element.disabled = !this._enabled;}
},get_enabled : function(){return this._enabled;},set_enabled : function(value){value = this._getBoolean(value);if (this._enabled != value){this._enabled = value;this.raisePropertyChanged('enabled');}
}
}
$AA.EnableAction.registerClass('AjaxControlToolkit.Animation.EnableAction',$AA.Action);$AA.registerAnimation('enableAction',$AA.EnableAction);$AA.HideAction = function(target,duration,fps,visible){$AA.HideAction.initializeBase(this,[target,duration,fps]);this._visible = visible;}
$AA.HideAction.prototype ={doAction : function(){var element = this.get_target();if (element){$common.setVisible(element,this._visible);}
},get_visible : function(){return this._visible;},set_visible : function(value){if (this._visible != value){this._visible = value;this.raisePropertyChanged('visible');}
}
}
$AA.HideAction.registerClass('AjaxControlToolkit.Animation.HideAction',$AA.Action);$AA.registerAnimation('hideAction',$AA.HideAction);$AA.StyleAction = function(target,duration,fps,attribute,value){$AA.StyleAction.initializeBase(this,[target,duration,fps]);this._attribute = attribute;this._value = value;}
$AA.StyleAction.prototype ={doAction : function(){var element = this.get_target();if (element){element.style[this._attribute] = this._value;}
},get_attribute : function(){return this._attribute;},set_attribute : function(value){if (this._attribute != value){this._attribute = value;this.raisePropertyChanged('attribute');}
},get_value : function(){return this._value;},set_value : function(value){if (this._value != value){this._value = value;this.raisePropertyChanged('value');}
}
}
$AA.StyleAction.registerClass('AjaxControlToolkit.Animation.StyleAction',$AA.Action);$AA.registerAnimation('styleAction',$AA.StyleAction);$AA.OpacityAction = function(target,duration,fps,opacity){$AA.OpacityAction.initializeBase(this,[target,duration,fps]);this._opacity = opacity;}
$AA.OpacityAction.prototype ={doAction : function(){var element = this.get_target();if (element){$common.setElementOpacity(element,this._opacity);}
},get_opacity : function(){return this._opacity;},set_opacity : function(value){value = this._getFloat(value);if (this._opacity != value){this._opacity = value;this.raisePropertyChanged('opacity');}
}
}
$AA.OpacityAction.registerClass('AjaxControlToolkit.Animation.OpacityAction',$AA.Action);$AA.registerAnimation('opacityAction',$AA.OpacityAction);$AA.ScriptAction = function(target,duration,fps,script){$AA.ScriptAction.initializeBase(this,[target,duration,fps]);this._script = script;}
$AA.ScriptAction.prototype ={doAction : function(){try{eval(this._script);} catch (ex){}
},get_script : function(){return this._script;},set_script : function(value){if (this._script != value){this._script = value;this.raisePropertyChanged('script');}
}
}
$AA.ScriptAction.registerClass('AjaxControlToolkit.Animation.ScriptAction',$AA.Action);$AA.registerAnimation('scriptAction',$AA.ScriptAction);if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.BehaviorBase = function(element){AjaxControlToolkit.BehaviorBase.initializeBase(this,[element]);this._clientStateFieldID = null;this._pageRequestManager = null;this._partialUpdateBeginRequestHandler = null;this._partialUpdateEndRequestHandler = null;}
AjaxControlToolkit.BehaviorBase.prototype ={initialize : function(){AjaxControlToolkit.BehaviorBase.callBaseMethod(this,'initialize');},dispose : function(){AjaxControlToolkit.BehaviorBase.callBaseMethod(this,'dispose');if (this._pageRequestManager){if (this._partialUpdateBeginRequestHandler){this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequestHandler);this._partialUpdateBeginRequestHandler = null;}
if (this._partialUpdateEndRequestHandler){this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestHandler);this._partialUpdateEndRequestHandler = null;}
this._pageRequestManager = null;}
},get_ClientStateFieldID : function(){return this._clientStateFieldID;},set_ClientStateFieldID : function(value){if (this._clientStateFieldID != value){this._clientStateFieldID = value;this.raisePropertyChanged('ClientStateFieldID');}
},get_ClientState : function(){if (this._clientStateFieldID){var input = document.getElementById(this._clientStateFieldID);if (input){return input.value;}
}
return null;},set_ClientState : function(value){if (this._clientStateFieldID){var input = document.getElementById(this._clientStateFieldID);if (input){input.value = value;}
}
},registerPartialUpdateEvents : function(){if (Sys && Sys.WebForms && Sys.WebForms.PageRequestManager){this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();if (this._pageRequestManager){this._partialUpdateBeginRequestHandler = Function.createDelegate(this,this._partialUpdateBeginRequest);this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequestHandler);this._partialUpdateEndRequestHandler = Function.createDelegate(this,this._partialUpdateEndRequest);this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHandler);}
}
},_partialUpdateBeginRequest : function(sender,beginRequestEventArgs){},_partialUpdateEndRequest : function(sender,endRequestEventArgs){}
}
AjaxControlToolkit.BehaviorBase.registerClass('AjaxControlToolkit.BehaviorBase',Sys.UI.Behavior);AjaxControlToolkit.DynamicPopulateBehaviorBase = function(element){AjaxControlToolkit.DynamicPopulateBehaviorBase.initializeBase(this,[element]);this._DynamicControlID = null;this._DynamicContextKey = null;this._DynamicServicePath = null;this._DynamicServiceMethod = null;this._cacheDynamicResults = false;this._dynamicPopulateBehavior = null;this._populatingHandler = null;this._populatedHandler = null;}
AjaxControlToolkit.DynamicPopulateBehaviorBase.prototype ={initialize : function(){AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this,'initialize');this._populatingHandler = Function.createDelegate(this,this._onPopulating);this._populatedHandler = Function.createDelegate(this,this._onPopulated);},dispose : function(){if (this._populatedHandler){if (this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.remove_populated(this._populatedHandler);}
this._populatedHandler = null;}
if (this._populatingHandler){if (this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.remove_populating(this._populatingHandler);}
this._populatingHandler = null;}
if (this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.dispose();this._dynamicPopulateBehavior = null;}
AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this,'dispose');},populate : function(contextKeyOverride){if (this._dynamicPopulateBehavior && (this._dynamicPopulateBehavior.get_element() != $get(this._DynamicControlID))){this._dynamicPopulateBehavior.dispose();this._dynamicPopulateBehavior = null;}
if (!this._dynamicPopulateBehavior && this._DynamicControlID && this._DynamicServiceMethod){this._dynamicPopulateBehavior = $create(AjaxControlToolkit.DynamicPopulateBehavior,{"id" : this.get_id() + "_DynamicPopulateBehavior","ContextKey" : this._DynamicContextKey,"ServicePath" : this._DynamicServicePath,"ServiceMethod" : this._DynamicServiceMethod,"cacheDynamicResults" : this._cacheDynamicResults
},null,null,$get(this._DynamicControlID));this._dynamicPopulateBehavior.add_populating(this._populatingHandler);this._dynamicPopulateBehavior.add_populated(this._populatedHandler);}
if (this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.populate(contextKeyOverride ? contextKeyOverride : this._DynamicContextKey);}
},_onPopulating : function(sender,eventArgs){this.raisePopulating(eventArgs);},_onPopulated : function(sender,eventArgs){this.raisePopulated(eventArgs);},get_dynamicControlID : function(){return this._DynamicControlID;},get_DynamicControlID : this.get_dynamicControlID,set_dynamicControlID : function(value){if (this._DynamicControlID != value){this._DynamicControlID = value;this.raisePropertyChanged('dynamicControlID');this.raisePropertyChanged('DynamicControlID');}
},set_DynamicControlID : this.set_dynamicControlID,get_dynamicContextKey : function(){return this._DynamicContextKey;},get_DynamicContextKey : this.get_dynamicContextKey,set_dynamicContextKey : function(value){if (this._DynamicContextKey != value){this._DynamicContextKey = value;this.raisePropertyChanged('dynamicContextKey');this.raisePropertyChanged('DynamicContextKey');}
},set_DynamicContextKey : this.set_dynamicContextKey,get_dynamicServicePath : function(){return this._DynamicServicePath;},get_DynamicServicePath : this.get_dynamicServicePath,set_dynamicServicePath : function(value){if (this._DynamicServicePath != value){this._DynamicServicePath = value;this.raisePropertyChanged('dynamicServicePath');this.raisePropertyChanged('DynamicServicePath');}
},set_DynamicServicePath : this.set_dynamicServicePath,get_dynamicServiceMethod : function(){return this._DynamicServiceMethod;},get_DynamicServiceMethod : this.get_dynamicServiceMethod,set_dynamicServiceMethod : function(value){if (this._DynamicServiceMethod != value){this._DynamicServiceMethod = value;this.raisePropertyChanged('dynamicServiceMethod');this.raisePropertyChanged('DynamicServiceMethod');}
},set_DynamicServiceMethod : this.set_dynamicServiceMethod,get_cacheDynamicResults : function(){return this._cacheDynamicResults;},set_cacheDynamicResults : function(value){if (this._cacheDynamicResults != value){this._cacheDynamicResults = value;this.raisePropertyChanged('cacheDynamicResults');}
},add_populated : function(handler){this.get_events().addHandler("populated",handler);},remove_populated : function(handler){this.get_events().removeHandler("populated",handler);},raisePopulated : function(arg){var handler = this.get_events().getHandler("populated");if (handler) handler(this,arg);},add_populating : function(handler){this.get_events().addHandler('populating',handler);},remove_populating : function(handler){this.get_events().removeHandler('populating',handler);},raisePopulating : function(eventArgs){var handler = this.get_events().getHandler('populating');if (handler){handler(this,eventArgs);}
}
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControlToolkit.DynamicPopulateBehaviorBase',AjaxControlToolkit.BehaviorBase);AjaxControlToolkit.ControlBase = function(element){AjaxControlToolkit.ControlBase.initializeBase(this,[element]);this._clientStateField = null;this._callbackTarget = null;this._onsubmit$delegate = Function.createDelegate(this,this._onsubmit);this._oncomplete$delegate = Function.createDelegate(this,this._oncomplete);this._onerror$delegate = Function.createDelegate(this,this._onerror);}
AjaxControlToolkit.ControlBase.prototype ={initialize : function(){AjaxControlToolkit.ControlBase.callBaseMethod(this,"initialize");if (this._clientStateField){this.loadClientState(this._clientStateField.value);}
if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined"){Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements,this._onsubmit$delegate);} else{$addHandler(document.forms[0],"submit",this._onsubmit$delegate);}
},dispose : function(){if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined"){Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements,this._onsubmit$delegate);} else{$removeHandler(document.forms[0],"submit",this._onsubmit$delegate);}
AjaxControlToolkit.ControlBase.callBaseMethod(this,"dispose");},findElement : function(id){return $get(this.get_id() + '_' + id.split(':').join('_'));},get_clientStateField : function(){return this._clientStateField;},set_clientStateField : function(value){if (this.get_isInitialized()) throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSetClientStateField);if (this._clientStateField != value){this._clientStateField = value;this.raisePropertyChanged('clientStateField');}
},loadClientState : function(value){},saveClientState : function(){return null;},_invoke : function(name,args,cb){if (!this._callbackTarget){throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlNotRegisteredForCallbacks);}
if (typeof(WebForm_DoCallback)==="undefined"){throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotRegisteredForCallbacks);}
var ar = [];for (var i = 0;i < args.length;i++)
ar[i] = args[i];var clientState = this.saveClientState();if (clientState != null && !String.isInstanceOfType(clientState)){throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidClientStateType);}
var payload = Sys.Serialization.JavaScriptSerializer.serialize({name:name,args:ar,state:this.saveClientState()});WebForm_DoCallback(this._callbackTarget,payload,this._oncomplete$delegate,cb,this._onerror$delegate,true);},_oncomplete : function(result,context){result = Sys.Serialization.JavaScriptSerializer.deserialize(result);if (result.error){throw Error.create(result.error);}
this.loadClientState(result.state);context(result.result);},_onerror : function(message,context){throw Error.create(message);},_onsubmit : function(){if (this._clientStateField){this._clientStateField.value = this.saveClientState();}
return true;}
}
AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlBase",Sys.UI.Control);Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.Resources={"PasswordStrength_InvalidWeightingRatios":"Strength Weighting ratios must have 4 elements","Animation_ChildrenNotAllowed":"AjaxControlToolkit.Animation.createAnimation cannot add child animations to type \"{0}\" that does not derive from AjaxControlToolkit.Animation.ParentAnimation","PasswordStrength_RemainingSymbols":"{0} symbol characters","ExtenderBase_CannotSetClientStateField":"clientStateField can only be set before initialization","RTE_PreviewHTML":"Preview HTML","RTE_JustifyCenter":"Justify Center","PasswordStrength_RemainingUpperCase":"{0} more upper case characters","Animation_TargetNotFound":"AjaxControlToolkit.Animation.Animation.set_animationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control.  No element or control could be found corresponding to \"{0}\"","RTE_FontColor":"Font Color","RTE_LabelColor":"Label Color","Common_InvalidBorderWidthUnit":"A unit type of \"{0}\"\u0027 is invalid for parseBorderWidth","RTE_Heading":"Heading","Tabs_PropertySetBeforeInitialization":"{0} cannot be changed before initialization","RTE_OrderedList":"Ordered List","ReorderList_DropWatcherBehavior_NoChild":"Could not find child of list with id \"{0}\"","CascadingDropDown_MethodTimeout":"[Method timeout]","RTE_Columns":"Columns","RTE_InsertImage":"Insert Image","RTE_InsertTable":"Insert Table","RTE_Values":"Values","RTE_OK":"OK","ExtenderBase_PageNotRegisteredForCallbacks":"This Page has not been registered for callbacks","Animation_NoDynamicPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\" or \"{1}\"","Animation_InvalidBaseType":"AjaxControlToolkit.Animation.registerAnimation can only register types that inherit from AjaxControlToolkit.Animation.Animation","RTE_UnorderedList":"Unordered List","ResizableControlBehavior_InvalidHandler":"{0} handler not a function,function name,or function text","Animation_InvalidColor":"Color must be a 7-character hex representation (e.g. #246ACF),not \"{0}\"","RTE_CellColor":"Cell Color","PasswordStrength_RemainingMixedCase":"Mixed case characters","RTE_Italic":"Italic","CascadingDropDown_NoParentElement":"Failed to find parent element \"{0}\"","ValidatorCallout_DefaultErrorMessage":"This control is invalid","RTE_Indent":"Indent","ReorderList_DropWatcherBehavior_CallbackError":"Reorder failed,see details below.\\r\\n\\r\\n{0}","PopupControl_NoDefaultProperty":"No default property supported for control \"{0}\" of type \"{1}\"","RTE_Normal":"Normal","PopupExtender_NoParentElement":"Couldn\u0027t find parent element \"{0}\"","RTE_ViewValues":"View Values","RTE_Legend":"Legend","RTE_Labels":"Labels","RTE_CellSpacing":"Cell Spacing","PasswordStrength_RemainingNumbers":"{0} more numbers","RTE_Border":"Border","RTE_Create":"Create","RTE_BackgroundColor":"Background Color","RTE_Cancel":"Cancel","RTE_JustifyFull":"Justify Full","RTE_JustifyLeft":"Justify Left","RTE_Cut":"Cut","ResizableControlBehavior_CannotChangeProperty":"Changes to{0} not supported","RTE_ViewSource":"View Source","Common_InvalidPaddingUnit":"A unit type of \"{0}\" is invalid for parsePadding","RTE_Paste":"Paste","ExtenderBase_ControlNotRegisteredForCallbacks":"This Control has not been registered for callbacks","Calendar_Today":"Today:{0}","Common_DateTime_InvalidFormat":"Invalid format","ListSearch_DefaultPrompt":"Type to search","CollapsiblePanel_NoControlID":"Failed to find element \"{0}\"","RTE_ViewEditor":"View Editor","RTE_BarColor":"Bar Color","PasswordStrength_DefaultStrengthDescriptions":"NonExistent;Very Weak;Weak;Poor;Almost OK;Barely Acceptable;Average;Good;Strong;Excellent;Unbreakable!","RTE_Inserttexthere":"Insert text here","Animation_UknownAnimationName":"AjaxControlToolkit.Animation.createAnimation could not find an Animation corresponding to the name \"{0}\"","ExtenderBase_InvalidClientStateType":"saveClientState must return a value of type String","Rating_CallbackError":"An unhandled exception has occurred:\\r\\n{0}","Tabs_OwnerExpected":"owner must be set before initialize","DynamicPopulate_WebServiceTimeout":"Web service call timed out","PasswordStrength_RemainingLowerCase":"{0} more lower case characters","Animation_MissingAnimationName":"AjaxControlToolkit.Animation.createAnimation requires an object with an AnimationName property","RTE_JustifyRight":"Justify Right","Tabs_ActiveTabArgumentOutOfRange":"Argument is not a member of the tabs collection","RTE_CellPadding":"Cell Padding","RTE_ClearFormatting":"Clear Formatting","AlwaysVisible_ElementRequired":"AjaxControlToolkit.AlwaysVisibleControlBehavior must have an element","Slider_NoSizeProvided":"Please set valid values for the height and width attributes in the slider\u0027s CSS classes","DynamicPopulate_WebServiceError":"Web Service call failed:{0}","PasswordStrength_StrengthPrompt":"Strength: ","PasswordStrength_RemainingCharacters":"{0} more characters","PasswordStrength_Satisfied":"Nothing more required","RTE_Hyperlink":"Hyperlink","Animation_NoPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\"","PasswordStrength_InvalidStrengthDescriptionStyles":"Text Strength description style classes must match the number of text descriptions.","PasswordStrength_GetHelpRequirements":"Get help on password requirements","PasswordStrength_InvalidStrengthDescriptions":"Invalid number of text strength descriptions specified","RTE_Underline":"Underline","Tabs_PropertySetAfterInitialization":"{0} cannot be changed after initialization","RTE_Rows":"Rows","RTE_Redo":"Redo","RTE_Size":"Size","RTE_Undo":"Undo","RTE_Bold":"Bold","RTE_Copy":"Copy","RTE_Font":"Font","CascadingDropDown_MethodError":"[Method error{0}]","RTE_BorderColor":"Border Color","RTE_Paragraph":"Paragraph","RTE_InsertHorizontalRule":"Insert Horizontal Rule","Common_UnitHasNoDigits":"No digits","RTE_Outdent":"Outdent","Common_DateTime_InvalidTimeSpan":"\"{0}\" is not a valid TimeSpan format","Animation_CannotNestSequence":"AjaxControlToolkit.Animation.SequenceAnimation cannot be nested inside AjaxControlToolkit.Animation.ParallelAnimation","Shared_BrowserSecurityPreventsPaste":"Your browser security settings don\u0027t permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead."
};if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();